krishna@
// the.qr.studio

Make a QR code worth printing.

Web & app
Contact
Network
Messaging
Time & place
Payments
Social
Plain

Opens a link.

// previewv3 · Q · mask 3 · 29×29
// will it scan100
contrast
21.0:1
print at least
30mm

No problems found. This code has good contrast, a full quiet zone, and shapes that read reliably.

// download

Transparent background supported.

scale1184px

Everything runs in this tab. Your content is never sent anywhere, and the design link holds the whole design — no account, nothing stored.

// how.qr.codes.actually.work

What decides whether a QR code scans.

Error correction, and why it costs you size

Every QR code carries redundant data so it still reads when part of it is damaged. There are four levels: L recovers about 7% of the code, M about 15%, Q about 25% and H about 30%. The redundancy is real data, so a higher level needs more modules — the same content at H produces a denser code than at L, and a denser code has to be printed larger.

M is the sensible default for anything on a screen. Go to Q or H when the code will be printed, handled, or covered by a logo. This tool raises the level for free whenever your content leaves spare capacity in the version it picked, so you often get Q without paying anything for it.

How big a logo can you actually put on a QR code

The common advice — keep it under 30% at level H — is wrong in both directions, and it is worth understanding why.

Error correction is applied per Reed-Solomon block, not across the code as a whole. Damage concentrated in one block can destroy a code covering far less than 30%, while the same amount of damage spread evenly survives comfortably. A percentage cannot tell those apart.

Worse, a single module of a finder pattern — the three large squares in the corners — is fatal at any error correction level. Scanners use those to locate and orient the code before error correction ever runs. No amount of redundancy recovers a finder pattern.

So this tool does not estimate. It maps the modules your logo covers onto the specific codewords they belong to, works out how much damage lands in each block, and compares that against the block’s actual correction budget. That is the number shown as “error budget used”. Keep it under 70% and you still have room for a scratch or a bad print.

Why a QR code fails to scan

Low contrast is the most common cause. A scanner only has to separate two populations of pixels, so it needs less contrast than text does — but below roughly 3:1 camera noise and uneven lighting start merging them. Aim for 7:1 or better, and remember that a gradient is only as readable as its palest stop.

Missing quiet zone is the second. The specification requires four modules of clear space on every side. Codes placed flush against artwork lose that margin and become hard to find against a busy background.

Decorative shapes are the third, and the least understood. ZXing-family decoders verify a finder pattern by checking its 1:1:3:1:1 ratio horizontally, vertically and diagonally. A circular eye centre measures 3.0 across its diagonal where a square measures 4.24, so the diagonal check fails. Newer phone cameras use machine-learning detection and tolerate it, which is why circular eyes look fine on a modern handset and fail on older scanners and cheap hardware. Every shape in this tool is labelled with the margin it costs.

Finally, inversion. Light modules on a dark background scan on phones, but a meaningful minority of point-of-sale and industrial readers only look for dark on light.

Static codes, and what that means for you

Every code this tool makes is static: the content is encoded directly into the pattern. It works forever, offline, with nothing to expire and no one counting your scans.

The trade-off is that the content cannot be changed after the fact. Services that offer editable codes do it by encoding a link to their own server and redirecting — which means the code stops working if they go away or you stop paying, and every scan passes through them first.

If you need to change a destination later, point the code at a URL you control and change what sits behind it. You keep the ability to edit, and nobody else sits in the middle.

// questions

Common questions.

Is this QR code generator really free?
Yes, completely. There is no account, no trial, no watermark and no paid tier. Every content type, every customisation and every export format is available to everyone.
Do the QR codes expire?
No. The codes are static, meaning the content is encoded directly into the pattern rather than pointing at a redirect service. They keep working indefinitely, with no dependency on this site staying online.
Do you track scans or collect my data?
No. Everything runs in your browser — the encoder, the renderer and the export all execute locally. Your content is never sent anywhere, which you can verify by opening your browser’s network tab, or by disconnecting from the internet and generating a code anyway.
Can I use these QR codes commercially?
Yes. QR code technology is covered by a published ISO standard that its inventor chose not to enforce patents on, and the codes you generate here carry no licence conditions of any kind. Use them on products, packaging, signage or anything else.
Can I add my logo to a QR code?
Yes. Upload any image and the tool clears the modules behind it, then calculates exactly how much error correction capacity the logo consumes and warns you before it becomes unrecoverable. The logo is embedded directly in the exported file and never uploaded anywhere.
What is the best file format for a QR code?
Use SVG or PDF for anything that will be printed, because they are real vector paths and stay sharp at any size. Use PNG for screens and websites, where transparency is supported. EPS is available for older print workflows that require it.
How large should I print a QR code?
As a rule, a code reads from about ten times its own width, so a code scanned from 30cm should be roughly 3cm across. You also need each individual module to stay above about 0.4mm, or ink spread closes the gaps. The tool calculates both and shows the larger of the two.
Why is my QR code not scanning?
The usual causes are contrast below about 3:1, a quiet zone narrower than the four modules the specification requires, a logo covering more than the error correction can recover, or decorative eye shapes that break the finder-pattern ratio checks older scanners rely on. The tool checks all four and tells you which one applies.