QR code guide
How to choose the right size
Rule of thumb: the code's edge should be one tenth of the reading distance. 2.5 cm for a table sticker read from 25 cm; 30 cm for a shop window read from 3 metres.
That rule ignores module count. Encoding a long address raises the module count, shrinks every module and can make the code unreadable. The readability indicator in the editor works this out for you.
The easiest way to lower module count is to shorten the address. With a dynamic code the QR contains our short address rather than your long destination — that alone thins the code noticeably.
What is the quiet zone and why must it stay?
The empty frame around the code is called the quiet zone and it is part of the standard. It must be at least 4 modules wide.
Designers often crop it to save space. The result: the phone cannot tell where the code ends and the scan fails. Do not place text, borders or patterns right against the code.
On a dark stock, keep the quiet zone light. Filling the area around the code with the background colour causes the same problem.
Does adding a logo break the code?
QR codes have error correction: data can be recovered even if part of the code is unreadable. At the highest level (H) roughly 30% of the code can be recovered.
But spending all of that on a logo is wrong. Print defects, dirt, creasing and poor light draw on the same budget. So we allow a logo at most half of that capacity and warn you when you exceed it.
Raise the error-correction level when you add a logo. The editor suggests this when needed.
Colour and contrast
Dark modules on a light background. The inverse works on some scanners but not all — older Android cameras in particular struggle.
Contrast ratio should be at least 3:1; 4.5:1 is the safe side. Low-contrast pairings like white on yellow or black on navy look fine on screen and fail in print.
If you use a gradient, its light end must not blend into the background. The editor measures contrast live.
Sending to print
Send PDF or SVG to your printer. Enlarged PNGs blur at the edges and scanners cannot tell module boundaries apart.
Glossy lamination reflects overhead light and can make the code unreadable. Prefer matte.
On curved surfaces (cups, bottles) enlarge the code and place it on the least curved area you can.
After printing, test with at least three different phones — one iOS, one Android, one older model. A code that works in the office may fail under shop lighting.
Code will not scan: check in this order
1. Is the quiet zone cropped? This is the most common cause.
2. Is the code large enough? Apply the one-tenth-of-distance rule.
3. Is contrast sufficient? Photocopy it and look in greyscale; if you cannot tell them apart, neither can the phone.
4. Is the print sharp? Ink spread merges modules.
5. Is there glare? Try different angles.
6. Is the logo too big? Shrink it and try again.
Static or dynamic?
Wi-Fi passwords, phone numbers and vCards go in static codes: the data is embedded, depends on no server and works forever. In exchange, the content can never be changed.
Anything that points at an address should be dynamic. Menus change, campaigns end, pages move — with a dynamic code you edit the destination and the printed material stays as it is.
Making a code static when it will be printed is the most commonly regretted decision. When the address needs to change, nothing can be done.
The editor checks all of this for you
Contrast, logo coverage, quiet zone and minimum safe print size are measured live as you design. Problems raise a warning and can be fixed in one click.
Start creating a code