The full diagnostic list
1. Too small: the classic. Apply distance ÷ 10 and round up. 2. Weak contrast: dark code, light background, no exceptions. 3. Cropped quiet zone: designers trimming the 'empty' border is the most common print mistake. 4. Glare: laminate and UV varnish reflect phone flashes and room lights — tilt the phone, or reprint matte. 5. Distortion: curved packaging, creased fabric, perspective photos at an angle.
6. Excess density: a 300-character URL makes modules so small that minor blur erases them. Shorten the content. 7. Over-styled art: logos covering more than a quarter of the code, corner markers redesigned beyond recognition, patterns bleeding into the quiet zone.
It scans on my phone but not others
Modern flagship phones have excellent cameras and aggressive decoding. Older and cheaper phones are far less forgiving. If your code works on a new iPhone but fails on a three-year-old budget Android, the code is marginal — increase size, contrast and error correction until the weaker phone reads it instantly. That phone is your quality bar, because your audience includes it.
Fix or reprint?
If the artwork is still editable, the fix is free: enlarge, darken, restore the margin, regenerate the SVG. If a thousand copies are already printed with a marginal code, test honestly — a code that scans after five seconds of aiming is a code most people abandon. Reprinting is cheaper than a dead campaign.
Mistakes to avoid
- Never invert light-on-dark.
- Don't judge scannability on your bright monitor — test the printed object.
- Don't blame the phone first; in our experience it's the code nine times out of ten.
Common questions
Why does it scan on my phone but not others?
Older cameras are less forgiving. Increase size, contrast and error correction until the weakest phone in your test group reads it instantly.
Can a code be too dense to fix?
Yes — shorten the content. A short URL can halve the pattern density at the same size.
Does lamination break codes?
The reflections can. Use matte laminate or leave the code unlaminated, and test the finished piece.
My code decoded in your scanner but not my camera — why?
Dedicated decoders are more patient than camera apps. The code is marginal: improve contrast and size.