Build, style and proof QR codes that actually scan.

Links, text, Wi-Fi, contacts, events, payments and more — with real contrast and print-size checks, not just a picture of a QR code.

Content

Every code in the batch shares the style settings below. Filenames use the label when given, otherwise a running number.

Style

Color & fill
Module shape
Logo
Frame
Error correction & margin
The blank margin around the code. Below 4 modules risks scan failures on print — that's where this tool gets its name.

Proof

Spec sheet

Symbol version—
Module grid—
Encoding mode—
Error correction—
Data used—
Contrast ratio—
Polarity—
Min. recommended size—

Print size calculator

Module size at this width—
Export pixels needed—
Scan reliability—
Comfortable scan distance—

Export

Runs entirely in your browser — nothing you type here is uploaded anywhere.

About the QR Code Generator

This tool builds QR codes for ten kinds of content — a link, plain text, Wi‑Fi credentials, a contact card, an email, a text message, a phone call, a calendar event, a location, or a crypto payment address — plus a batch mode that turns a whole list of entries into a folder of codes at once. Unlike some generators that route scans through a tracking redirect, every code produced here is a static QR code: your content is encoded directly into the pattern itself, so it keeps working offline and forever, but the destination can't be edited after you've printed it — regenerate and reprint if it needs to change.

To use it: pick a content type from the tabs at the top, fill in its fields, and watch the Proof panel update live. Open the Style panel to set colors, module shape, and eye style, add a logo if you want one, and choose a frame or caption. The Spec sheet and Print size calculator on the right tell you exactly how the code will hold up at a given print size before you export it as PNG or SVG, or as a batch ZIP if you're working from a list. Everything — encoding, rendering, and export — runs locally in your browser using the qrcode-generator library and the Canvas/SVG APIs; nothing you type is ever uploaded anywhere.

Two practical tips: if you're adding a logo, bump the error correction level up to Q or H first — the logo covers real data modules, and a low correction level leaves too little redundancy to recover from that loss. And for anything that will be printed small or scanned from a distance, check the Print size calculator's verdict before you commit to a size — a module size under about 0.3mm on paper is unlikely to scan at all.

Frequently asked questions

What types of QR content can I create?

Ten types: a link, plain text, Wi‑Fi credentials, a contact card (vCard), an email, an SMS, a phone call, a calendar event, a location, and a crypto payment address (Bitcoin, Ethereum, or Litecoin) — plus a Batch tab that generates many codes from a list in one pass.

Does adding a logo affect how reliably the code scans?

Yes — a logo sits on top of and hides some of the data modules underneath it. The tool warns you to switch error correction to Q or H whenever a logo is present and the level is set to L or M, since those higher levels rebuild more missing data and keep the code scannable despite the covered area.

Are these static or dynamic QR codes?

Static. Your content is encoded directly into the QR pattern with no redirect or tracking server involved, so a printed code keeps working indefinitely and offline — but because there's no server in the loop, you can't edit the destination after printing; you'd need to generate and reprint a new code.

What size should I print my QR code at?

Use the Print size calculator on the right: enter your target width and DPI and it works out the module size and gives a verdict — roughly 0.5mm per module or larger scans reliably at arm's length, 0.3–0.5mm scans only up close, and under 0.3mm is unlikely to scan at all.

PNG or SVG — which export should I use?

SVG is vector output, so it stays perfectly sharp at any size — best for anything headed to print or that will be resized later. PNG is a fixed-pixel raster image (choose 512 up to 4096px, or match the print calculator's size) — simplest for screens, slide decks, or dropping straight into a document.

Can I generate multiple QR codes at once?

Yes — switch to the Batch tab and enter one item per line (plain text, a URL, or "label, data"). Every code in the batch shares the current style settings, and "Download batch (.zip)" exports them all as individually named PNGs in one file.