Key takeaways
- Rule of thumb: the code's width should be at least one tenth of the scanning distance, and never under about 2 cm (0.8 in).
- Dark modules on a light background, with strong contrast and a quiet margin around the code.
- A centre logo is fine if it covers a small part of the code and you use a higher error-correction level.
- Always point printed codes at a short link so you can change the destination later.
- Test with several phones, in the real lighting, at the real distance, before printing.
A QR code that does not scan is worse than no QR code at all. It costs you the print run and it teaches people that your codes do not work. The good news is that almost every scanning problem comes down to five things you can control: size, contrast, margin, what the code contains, and testing. Here is how to get each right.
How big should a QR code be?
Use the 10:1 rule: the code should be at least one tenth as wide as the distance it will be scanned from, and never smaller than about 2 cm (0.8 inches) for close-range use.
| Where it goes | Typical scanning distance | Minimum code width |
|---|---|---|
| Business card, product label | 20–30 cm | 2–3 cm (about 1 in) |
| Table tent, menu | 30–50 cm | 3–5 cm (1.2–2 in) |
| Shop window, flyer on a wall | 1–2 m | 10–20 cm (4–8 in) |
| Poster across a room | 3 m | 30 cm (12 in) |
| Billboard or stage screen | 10 m+ | 1 m+ |
The rule is a starting point, not physics. Phones vary, lighting varies, and a code holding more data has smaller modules. That is one reason to keep the content short.
Why does contrast matter so much?
Scanners look for the difference between dark and light modules. The safest design is dark modules on a light background with strong contrast. Brand colours are fine as long as they stay clearly dark against clearly light: deep navy or teal on cream works, pastel on white does not.
Avoid:
- Light modules on a dark background (inverted codes). Many phones read them now, some still do not.
- Gradients that fade the modules toward the background colour.
- Photos or busy patterns behind the code.
- Metallic or glossy inks that reflect light into the camera.
What is the quiet zone?
The quiet zone is the blank margin around the code. The QR code standard (ISO/IEC 18004) specifies a margin four modules wide on every side, so the scanner can find where the code starts and stops. Designers love to crop it to save space. Do not. If anything sits closer than that margin (a border, text, an edge of the card), test it carefully.
Can you put a logo in a QR code?
Yes. QR codes carry error correction: spare data that lets a scanner rebuild the message when part of the code is damaged or covered. There are four levels, L, M, Q and H, which can recover roughly 7%, 15%, 25% and 30% of the code respectively. A centre logo deliberately “damages” part of the code, so:
- Use level Q or H when you add a logo.
- Keep the logo small and central, away from the three large corner squares (the finder patterns).
- Give the logo its own light background so its edges do not blend into the modules.
- Test the final file, not the mock-up.
GoTinyURL’s QR code generator lets you upload a centre logo, choose dot and eye styles and add a frame with text.
What should the QR code contain?
For anything printed, point the code at a short link instead of the final URL. That gives you three advantages:
- The code holds less data, so the modules are bigger and it scans more easily.
- You can change the destination after printing, so a new menu or a moved page never means a reprint.
- Every scan is counted, so you can see which poster, table or package works.
Add UTM tags to the destination, such as utm_medium=qr and a utm_content per placement, and your analytics tool will attribute the visits correctly.
Does a QR code need a call to action?
It should have one. A bare square asks people to guess. “Scan for today’s menu”, “Scan to save my contact” or “Scan for 10% off” tells them what they get and why it is worth lifting their phone. Put it right next to the code, in a frame or directly underneath.
How should you test a QR code before printing?
Testing takes ten minutes and saves the whole print run:
- Print a proof at the real size on the real paper or material.
- Scan with at least three phones, including an older one, using the built-in camera app.
- Scan from the real distance and the real angle, for example from a seat for a table tent.
- Scan in the real light: a dim restaurant, a sunny window, under shop spotlights.
- Check where it lands: the right page, fast, readable on a phone.
- Check the count: open the short link’s statistics and make sure your test scans appeared.
The QR checklist
- Code width at least one tenth of the scanning distance, never under about 2 cm
- Dark on light, strong contrast, no busy background
- Quiet zone of four modules on every side
- Logo small, central, with error correction Q or H
- Points to a short link, with UTM tags on the destination
- A clear call to action next to the code
- Proof printed and scanned on three phones, at the real distance and light
Get those right and your QR codes will scan the first time, every time.