QR Code Generator

Turn a link or a block of text into a QR code and download it as PNG or SVG. The code is generated in your browser, so nothing you type is uploaded.

About QR codes

Do these codes expire or stop working?

No. This is a plain QR code that stores your text directly, not a short link pointing at someone else's redirect. There is no account, no counter and no server that could be switched off, so the code keeps working for as long as the thing it points at exists.

Which error correction level should I pick?

M is the sensible default and what most scanners expect. Raise it to Q or H if the code will be printed small, placed behind glass, or is likely to get scuffed — the trade-off is that a higher level stores more redundancy, so the code becomes denser for the same amount of text. Drop to L only when you are close to the length limit.

PNG or SVG?

Use SVG for anything printed — business cards, stickers, posters. It is vector, so it stays sharp at any size and the file is usually smaller. Use PNG for screens: slides, websites, chat messages. Both are generated at full quality here, with no watermark.

Why did my coloured code stop scanning?

Scanners need luminance contrast, not colour contrast. A dark blue on light red can look obviously different to you and still fail. Keep the foreground clearly darker than the background, and never invert them: a light code on a dark background is rejected by many phone cameras. If a scan fails, set both colours back to black and white and try again.

How much text fits?

Up to about 2,950 bytes at level L, which is roughly 2,950 Latin characters or 980 Chinese characters, since this generator uses UTF-8. Practical codes for a URL are far shorter. Note that every character you add makes the modules smaller at a fixed print size, so shorter text scans more reliably.

Is my text sent anywhere?

No. The encoder is a few hundred lines of JavaScript running on this page. Nothing is transmitted, which is why it also works offline once loaded.