Guide
Why QR codes fail to scan
Ordered by how often each one turns out to be the culprit. Work down the list and you will almost always find it in the first four.
Short answer
The most common causes of QR code scan failure are, in order: too small for the scanning distance, a missing or cropped quiet zone, insufficient contrast between modules and background, and reflective glare from gloss finishes. All four are print and design problems rather than phone problems.
Contents
The list
Twelve causes, most frequent first
- Too small. Below roughly 0.4 mm per module, phones struggle. Fix: enlarge, or shorten the payload so the code has fewer modules.
- Quiet zone cropped. Four modules of clear space on every side are required. Designers trim this constantly. Fix: restore it; it is part of the artwork.
- Poor contrast. Mid-tone modules on a mid-tone background, or a light-on-dark inversion. Fix: dark modules on a light background, checked in greyscale.
- Glare. Gloss lamination, spot UV or glass reflecting light into the lens. Fix: matte finish; reposition away from direct light.
- Blur. A low-resolution image scaled up, or a code placed too close for the camera to focus. Fix: vector artwork, and a minimum focus distance of about 10 cm.
- Damage over a finder pattern. Error correction does not protect the corner squares. Fix: reprint; there is no recovery.
- Curved or flexible surface. Bottles, tubes, shrink sleeves. Fix: move to a flat panel, or increase size and error correction.
- Ink spread. Absorbent stock thickens dark modules until light gaps close. Fix: print 10–15% larger; ask the printer for their dot gain figure.
- Inverted colours. Light modules on a dark background. Permitted by the specification, refused by many older scanners. Fix: invert back.
- Logo too large. Coverage beyond the error correction headroom, or placed off-centre. Fix: under 25% at level H, centred.
- Extreme angle. Beyond about 30 degrees, alignment patterns cannot fully correct the distortion. Fix: reposition at eye level and face-on.
- The link is dead. The code scans perfectly and the destination 404s. Fix: check the destination separately — this is not a code problem, and it is more common than any of the above once codes are in the wild.
Diagnose it
Isolating the cause in four steps
- Decode the file. Upload the export to the reader. If it decodes on screen, the pattern is valid and the problem is physical — size, contrast, print or lighting.
- Scan the screen. Display the code on a monitor and scan it from a phone. Works on screen but not in print? Print quality, size or finish.
- Try two phones. One recent, one budget. If only the budget phone fails, the code is marginal rather than broken — enlarge it.
- Change the light. Take the printed piece to a window. If it suddenly scans, the cause is glare or dim lighting, not the code.
Prevention
A pre-print checklist
- Decode the final export file and confirm the payload is exactly right, character for character.
- Print a proof at final size on the final stock, and scan it with two phones.
- Check the quiet zone survived the layout application.
- Confirm the finish is matte over the code area.
- Open the destination on mobile data with a cleared cache.
- Look at the code in greyscale to confirm contrast.
- For runs over a few hundred, scan a unit from the actual production run, not just the proof.
Questions
Frequently asked
Why does my QR code work on screen but not in print?
Almost always size, contrast or finish. Screens are backlit and high contrast; paper is neither. Check module size and use a matte finish.
Why do some phones scan my code and others do not?
The code is marginal rather than broken. Camera quality and decoder implementations vary; enlarge the code or raise the contrast to build margin.
Can a damaged QR code be repaired?
Error correction repairs damage up to its level automatically, unless the damage covers a corner finder pattern, in which case the code cannot be located at all.
What is the most common reason QR codes fail?
Printing them too small for the distance they are scanned from, followed closely by cropping the quiet zone.
Last reviewed 24 August 2026 · Written and reviewed by the QR Code Builder team