QR Code Generator

Build an inspectable static QR code for a menu URL, Wi-Fi network, contact, calendar event, email, phone number, or text. Special characters are escaped where the payload format requires it; you still need to test the finished code with the devices and environment that will use it.

QR code type

Content

Customize

Four-module quiet zone included. Contrast ratio: 21.0:1.

Preview

Enter complete content to generate a QR code

Download

A generated image is not proof it will scan in every environment. Test the final exported asset on multiple target phones before printing or publishing it.

Controlled benchmark · September 15, 2026

20/20 exact software decode checks passed

Five synthetic black-on-white payloads were generated with qrcode 1.5.4 at 200, 300, 400, and 500 pixels, then independently decoded with jsQR 1.4.0. Every decoded string matched its source payload byte-for-byte.

Boundary: this verifies this controlled software pipeline, not a camera or physical print. It does not establish compatibility with every reader, phone, surface, distance, lighting condition, color pair, or payload handler.

HTTPS menu URL benchmark QR code

HTTPS menu URL

41 UTF-8 bytes · M correction

Escaped Wi-Fi fields benchmark QR code

Escaped Wi-Fi fields

60 UTF-8 bytes · M correction

RFC 6350 vCard 4.0 contact benchmark QR code

RFC 6350 vCard 4.0 contact

164 UTF-8 bytes · M correction

RFC 5545 calendar event benchmark QR code

RFC 5545 calendar event

329 UTF-8 bytes · M correction

UTF-8 plain text benchmark QR code

UTF-8 plain text

55 UTF-8 bytes · M correction

Inspect the raw results and SHA-256 hashes or rerun the benchmark with npm run benchmark:qr.

How to create and test a QR code

1. Build the payload

Choose the real action you need. Use a complete HTTPS URL for a menu. For Wi-Fi, vCard, and events, fill the structured fields and inspect the exact encoded payload.

2. Keep it readable

Prefer dark modules on a light background, retain the four-module quiet zone, and remember that more data creates a denser symbol. Higher error correction also reduces available capacity.

3. Test the final artifact

Download PNG or SVG, place it at its actual size, print a physical sample when applicable, and scan it with several target phones before a full print run.

Supported payloads

TypeEncoded formExpected reader action
URL / menuhttps://example.com/menuOpens a complete HTTP(S) destination
Plain textAny UTF-8 textDisplays or copies text, depending on the reader
Wi-FiWIFI:T:WPA;S:...;P:...;;Offers network details on compatible readers
Emailmailto:user@example.comOpens a message addressed to the recipient
Phonetel:+12125551212Opens a dialer with the number filled in
vCard 4.0BEGIN:VCARD ... END:VCARDOffers a contact on compatible readers
iCalendar eventBEGIN:VCALENDAR ... VEVENTOffers an event on compatible readers

Format and error-correction references

The Wi-Fi string follows the interoperable syntax catalogued by ZXing, including escaping for backslash, semicolon, comma, quote, and colon. Contacts use RFC 6350 vCard 4.0; events use RFC 5545 iCalendar.

DENSO WAVE’s QR reference explains that higher error-correction levels add restoration capability but increase symbol data. The percentages describe codeword restoration, not a promise that the same percentage of any visible area can be covered.

FAQ

QR Code Generator