September 26, 2026 · Guides · 2 min read
Common QR code mistakes and how to avoid them
Most QR codes that fail do so for simple, avoidable reasons. Here are the mistakes we see most often, and how to prevent each of them before you print.
1. Printing the code too small
A tiny code can be unreadable, especially on phones with less capable cameras. Match size to scanning distance, and remember that codes holding long URLs need more room than those holding short ones. When in doubt, go bigger.
2. Low contrast or unusual colours
Light grey on white, or coloured codes on coloured backgrounds, reduce the difference scanners rely on. Stay with dark modules on a light background unless you have tested an alternative in real conditions.
3. Crowding the quiet zone
Borders, text and decorative shapes placed too close to the code make it harder to detect. Leave at least four modules of empty space around it.
4. Encoding a very long URL
Long links create a dense pattern of tiny squares that are hard to scan. Use a short redirect link so the pattern stays simple and the code remains reliable at small sizes.
5. Linking to a page that is not mobile-friendly
The scan is only the first step. If the page is slow, needs zooming or expects a desktop browser, visitors leave. Open your destination on a phone over mobile data and judge it honestly.
6. Not testing before printing
Many failures could be caught with a two-minute test. Print a sample, scan it with different phones and in real lighting, and confirm the destination. Do this before you order thousands of copies.
7. Using a static code for something that changes
If the content may change, such as a menu, an offer or an event page, use a redirect-based code. Otherwise a single update can mean reprinting everything.
8. Placing the code where it cannot be scanned
Codes placed on moving vehicles, behind glass with glare, high above head height, or on curved surfaces are hard to scan. Consider how the person will actually stand and hold their phone.
9. No call to action
People need a reason to scan. A short line explaining the benefit, such as "Scan for today's menu", dramatically improves results compared with a code standing alone.
10. Forgetting to check later
Links break, pages move and domains expire. Schedule a periodic check of every live code, especially those in public places. A broken code reflects badly on you and is easy to prevent.
A pre-print checklist
- Is the code large enough for the scanning distance?
- Is there strong contrast and a clear margin?
- Does the destination load fast on a phone?
- Have I tested on more than one phone?
- Can I change the destination later if I need to?
Avoiding these mistakes takes very little effort and makes the difference between a code people use and one they ignore.
