Create traditional static QR codes for links, text, Wi-Fi, email, phone calls, SMS, contacts, locations and calendar events. Generation happens in the browser, and the output contains the supplied content directly.
The intended public website is VINASIG QR Generator. The source is maintained at VINASIG/qr-generator. Publication results are verified for an exact commit and recorded separately from this source description.
- Enter a complete URL or any text. The code updates automatically as you type.
- Choose one content type; only its fields are shown. Contact and event extras stay collapsed until needed.
- Use Wi-Fi for personal WPA, WEP or open networks; email, phone and SMS for compatible app actions; vCard for a contact; coordinates for a location; or iCalendar for an event.
- Share an image, PDF or other file using its direct HTTP(S) link. The file stays with its existing host; it is not embedded or uploaded here.
- Leave Advanced settings closed for everyday use, or choose error correction L/M/Q/H, a 4/8/12-module border, version 1-40 and mask 0-7. Version and mask default to Auto.
- Download PNG at 512, 1024 or 2048 pixels, or a scalable SVG.
- Inspect the exact encoded content and generated technical details before sharing it.
- Clear all input and restore defaults. Editing input, content type, size or technical settings immediately disables old exports.
No account, subscription, app cookies, analytics, history storage or QR redirect service is part of this application. It never requests the destination URL or uploads payloads. Hosting receives normal page requests. After the application loads, creation and export can work without a network connection. Offline reload or installation is not provided.
A static code has no service-controlled expiry. A linked page can still move or go offline, and a Wi-Fi password can change. Changing the code's content means generating and distributing another image. The downloaded image contains its data, including a Wi-Fi password when supplied.
Use Node 24.21.0 and npm 12.2.0.
npx --yes npm@12.2.0 ci
npx --yes npm@12.2.0 run devRead the URL from the dev-server log. The site uses the origin-root base path /.
npm run check
npm test
npm run build
npm exec -- playwright install chromium firefox webkit
npm run test:browser
npm run test:performanceThe production preview uses an automatically selected loopback port through npm run preview. Browser tests start and close their own production server. CI requires all three engines on Windows and Linux before deployment. Each engine has its own runner and verification artifact to keep the full screenshot and failure-trace coverage within the runner's disk capacity. The Linux Chromium job also checks performance and packages the site. Deployment waits for all six verification jobs.
- Product scope and public user research
- Brand adoption, pinned assets and SI-agent standards
- Toolchain and version decisions
- Tests and verification boundaries
- Content expansion audit
- Automatic input verification
- Inline errors and Clear all verification
- Source and artwork rights and third-party notices
The interface uses reviewed English and Vietnamese, local Space Grotesk and VINASIG's adopted design tokens. QR exports use standard Model 2, are black on white, keep at least a four-module quiet zone and contain no VINASIG logo, watermark or remote resources. PNG modules use integer pixel sizes. Error correction defaults to M. Content is limited to 2,000 UTF-8 bytes and must fit its selected correction level and version. Higher correction can require a denser code; an explicit version that is too small produces a correction rather than a broken export.
Screen-based decoder tests do not replace a scan from the final physical print. Test the final size, contrast and viewing distance on the devices your audience uses.
Content formats are interpreted by the scanner and destination app. An SMS reader may open only the recipient; calendar and contact actions also vary. These outputs do not automatically send messages, call numbers or import events. Check the final action on the intended devices.
The public site uses qr.vinasig.io.vn at the origin root. GitHub Pages remains the deployment service. Domain maintenance records DNS, HTTPS, search submission and verification boundaries.
VINASIG-authored software uses AGPL-3.0-or-later. Authored documentation uses CC-BY-SA-4.0. Commercial use is allowed under those standard licenses. Fonts and third-party components retain their original terms. Official VINASIG identity assets follow the separate brand policy.
Read LICENSE, LICENSES.md, VINASIG Brand Usage Policy and the licensing review for exact scopes, rationale and remaining review.
English / and Vietnamese /vi/ provide the same features with localized navigation, guidance and accessible controls. Use the compact EN or VI link and adjacent theme button. Only deliberate theme/language preferences are stored and shared across VINASIG subdomains. Inputs and files remain local and unsaved. See localization maintenance.