Text & Security

QR Code Generator

Paste a link or any text, get a QR code instantly, and download it as a PNG. Everything happens in your browser — nothing is uploaded or stored.

What is a QR code?

A QR ("Quick Response") code is a two-dimensional barcode that phones can read with their camera. It can hold a web link, plain text, Wi-Fi credentials, contact details, or payment information — up to a few thousand characters. Invented in 1994 for tracking car parts in Japanese factories, it's now the default bridge between the physical world and a URL.

Common things to encode

UseWhat to paste
Website / menu / portfolioThe full URL, including https://
Wi-Fi loginWIFI:T:WPA;S:NetworkName;P:password;;
Email composemailto:you@example.com
Phone calltel:+15551234567
SMSSMSTO:+15551234567:Hello
Plain text noteAny text — appears when scanned

The number that decides whether it scans: modules, not pixels

Most generators report a pixel size, and pixels are the wrong unit for anything that will be printed. What matters is the module count — the little black squares along one edge. A QR code holding a short link is 29 modules across; the same code holding a paragraph might be 77. Printed at the same physical size, the first scans easily and the second does not, because a camera has to resolve one module to read anything at all.

This generator reports the version and module count with every code, plus the smallest size it can be printed at. The floor used here is 0.5 mm per module, which is a conservative figure for phone cameras at close range; below it, failures start showing up in poor light, on glossy stock and at an angle. The quiet zone — four modules of blank margin the specification requires on every side — is included, because a code printed flush against other artwork often fails for that reason alone.

For reading distance, the working rule in the print trade is that a code scans from about ten times its own width. A 25 mm code on a leaflet is comfortable at arm's length; the same code on a poster meant to be read from across a room needs to be several times larger. Codes that fail in the field are almost always dense codes printed small.

Error correction is a trade, not a quality setting

The L / M / Q / H control is not "better" as it goes up. Each level reserves part of the code for recovery data, so a higher level means more modules for the same text — a bigger, denser code that is harder to scan small:

LevelRecoversUse it when
L7% damageOn screen only. Thin for print — a fold or a coffee ring can kill it.
M15% damageThe usual default for printed material.
Q25% damageLabels, packaging, anything that gets handled or scuffed.
H30% damageWhen a logo sits in the middle — the logo is the damage.

That last row is the one people are usually looking for without knowing the name. Putting a logo over the centre of a QR code works because the code can rebuild what the logo covers, and it only works reliably at level H.

Non-ASCII text: a place most generators get it wrong

The library used here defaults to an encoder that truncates every character to a single byte. Under that default "café" scans back as "caf?", Korean and Japanese become garbage, and emoji disappear — while the generator still reports success, so the damage is only discovered after the code has been printed. This page wires up the library's UTF-8 encoder instead. Plain ASCII produces byte-for-byte identical output either way, so nothing that already worked changed; accented, non-Latin and emoji text now survives the round trip. It is worth testing any code containing non-English text by actually scanning it, whichever generator made it.

Sources

The format itself is standardised as ISO/IEC 18004; the DENSO WAVE pages above are the freely readable statement of the same rules.

Tips for QR codes that actually scan

Frequently asked questions

Do these QR codes expire?

No. This generator creates static QR codes — the content is encoded directly in the pattern, forever. (Services that offer "dynamic" QR codes redirect through their server, which is how they can expire or charge subscriptions.)

Is my link or text uploaded anywhere?

No — the code is generated entirely in your browser with open-source code. Disconnect from the internet after loading the page and it still works.

Can I use the QR code commercially?

Yes. QR codes are an open ISO standard with no licensing fees for use. The codes you generate here are yours.

Why won't my QR code scan?

Usually: printed too small, low contrast, cropped quiet zone, or a typo in the URL (test it before printing!). Try error correction Q or H and a larger size.

The guide that goes deeper

You might also need

Last reviewed: · Who maintains this · How it is checked

The arithmetic runs entirely in your browser — nothing you enter is sent to a server or stored. The formula and its assumptions are stated on the page so you can check the result rather than trust it.