QR Code Generator

Your QR code appears as you type. No sign-up, no expiration, and nothing is ever sent to a server.

Enter a URL or text above and your QR code will appear instantly.

Nothing you type is sent anywhere — the code is generated 100% inside your browser.

What a QR code actually stores

A QR code is a two-dimensional barcode that holds text directly in its grid of black and white squares, called modules. When you encode a web address, a Wi-Fi network, a phone number, or a block of plain text, the characters themselves are baked into the image — there is no lookup and no server in the middle. That is what makes a code generated here static: because the data lives in the pattern, the code never expires and keeps working in print for as long as the ink survives.

This is the key difference from the "dynamic" QR codes sold by some marketing services. Those encode a short redirect link that points to the real destination, so they can be edited or tracked later — but they stop working if that service takes the link down. A static code has no such dependency, at the cost of not being editable once printed.

Choosing size and error correction

Two settings decide whether a code scans reliably: its printed size and its error-correction level. A useful rule of thumb is that the code should be at least one tenth of the distance it will be scanned from. Error correction adds redundant data so the code still reads when part of it is dirty, damaged, or covered by a logo — but higher correction makes the pattern denser and lowers how much text fits.

Example 1 — Poster on a wall. If people scan from about 3 metres away, aim for a printed code at least 30 cm on each side (3 m ÷ 10). Much smaller and phones struggle to lock on from across the room.
Example 2 — Logo in the middle. Placing a logo over the centre covers part of the pattern. Choosing level H (about 30% recovery) lets the code absorb that loss and still scan, which is why H is the usual pick for branded codes.
Example 3 — A long link. A long address such as shop.example/products/spring-2026?ref=flyer packs in many characters, making the grid denser. At level L the pattern stays sparser and easier to scan; if it still looks crowded, shortening the link helps more than enlarging the image.

Error-correction levels at a glance

LevelRecovers up toCapacityBest for
L~7%HighestClean screens, long links
M~15%HighEveryday use (default)
Q~25%MediumSmall prints, light wear
H~30%LowestLogo overlays, rough surfaces

Why a code fails to scan

When a code will not read, check four things in order: the plain margin around it (the "quiet zone") must not be cropped — this tool always outputs the required four-module border; the contrast should be strong, ideally dark on a light background rather than the reverse; the print must be large enough for the scanning distance; and very long content may need a shorter link or a higher correction level. Because everything is generated inside your browser, the text you encode is never uploaded, and the downloaded PNG is a plain image you can use anywhere — menus, packaging, slides, or handouts — with no watermark and no expiry.

Sources & further reading

Frequently asked questions

Does the QR code expire?

No. This QR code generator creates static QR codes: your content is encoded directly into the pattern itself, so there is nothing to expire. Codes that stop working come from dynamic QR services that route through a short link. A code made here keeps working forever, even in print.

Is my URL or text uploaded to a server?

No. QR code generation runs 100% in your browser — neither your input nor the generated image is ever transmitted. Only your settings (size and error correction level) are kept in this browser's localStorage; the text itself is never stored.

My QR code won't scan — what should I check?

Check in order: ① the white margin (quiet zone) around the code hasn't been cropped, ② the printed size is large enough (roughly 1/10 of the scanning distance), ③ there is strong contrast with the background, ④ for long content, raise the error correction level or shorten the URL. This free QR code generator always outputs the required 4-module quiet zone.

What is the difference between error correction levels L, M, Q and H?

It is how much of the code can be damaged and still scan: L ≈ 7%, M ≈ 15%, Q ≈ 25%, H ≈ 30%. Higher levels make the pattern denser and reduce the maximum text length. M suits most uses; pick H if a logo will overlap the code or it may get dirty.

Can I use the QR codes commercially?

Yes. QR codes you generate and download as PNG are yours to use freely — business cards, menus, posters, packaging, slides and any other commercial use — with no watermark, no fees and no restrictions.