QR Code Not Scanning? 12 Fixes That Actually Work
A QR code that will not scan is almost always a physical problem, not a data problem. The pattern either cannot be seen clearly enough, or cannot be found at all. Work through these in order — the first four fix the overwhelming majority of cases.
1. Make it bigger
The most common fault by a distance. A QR code should be at least 0.8 in square for close-range scanning, and the working rule for distance is that the code needs to be about one tenth of the scanning distance. A code read from 10 ft away needs to be roughly 12 in across. Business cards and product labels are where this goes wrong most often.
2. Restore the quiet zone
QR codes require clear margin on all four sides — about four modules wide, which is roughly the width of four of the small squares. Designers crop this constantly to make a layout fit. Without the quiet zone the scanner cannot locate the code's boundary and will not even attempt to read it.
3. Increase the contrast
Dark pattern on a light background, with real contrast between them. Light grey on white fails. So does dark blue on black. If you are placing a code over a photograph, put it on a solid panel instead.
4. Do not invert the colours
Most scanners expect a dark pattern on a light background. A light code on a dark background — visually striking, and popular in design work — fails on a significant proportion of phones. If the brand demands it, test on several devices before committing to print.
5. Check the destination still exists
If the code scans and produces a URL but nothing loads, the code is fine and the page is gone. If it was a dynamic code from a paid service, check whether the subscription lapsed — that kills every code from that account simultaneously.
6. Kill the glare
Glossy laminate, acrylic and screens all bounce light straight back into the camera. Matte finishes scan far more reliably. If the code is on a screen, raise the brightness and tilt to avoid reflections.
7. Get the distance right
Too close is as bad as too far. Phone cameras cannot focus below a few inches, and the whole code plus its quiet zone must be inside the frame. Start further back and move in slowly.
8. Let the camera focus
Hold steady for a second. Tap the screen on the code to force a focus. In dim light the camera hunts and never locks — add light rather than moving closer.
9. Raise the error correction level
QR codes carry redundancy at four levels, from roughly 7 per cent recovery up to 30 per cent. If a code lives somewhere it will get scratched, wet or partly covered, generate it at the highest level. This makes the pattern denser, so combine it with a larger print size.
10. Look for physical damage
Fading, scratches, a sticker across a corner, a fold through the middle. The three large squares in the corners are position markers — damage to those is fatal, because the scanner uses them to orient the code before reading anything.
11. Try a different scanner
Native camera apps are usually good but not universally so, particularly on older Android builds. If one phone fails, try another before concluding the code is broken. Checking with the safe QR code scanner also shows you the destination URL before you open it, which is worth doing with any code you did not create yourself.
12. Regenerate it from the source data
If nothing else works, make a new one. Codes that have been resized in image editors, screenshotted, compressed as JPEGs or scaled non-proportionally accumulate artefacts that break the module grid. Always generate at final size as PNG or SVG rather than scaling a small JPEG up.
Test before you print at volume
Print one proof on the actual material, put it where it will live, and scan it from where a real person will stand, on more than one phone. A code that works on your monitor can fail completely on matte vinyl under a car-park light.
Standards and references
Scanning failures diagnosed in this guide map to specific clauses in ISO/IEC 15415 (Bar code print quality test specification): quiet-zone violations (Section 7.8.6), damage to finder patterns (Section 7.3), and contrast failures (Section 7.8.1). Error correction levels (L 7%, M 15%, Q 25%, H 30% of code recoverable) are defined in ISO/IEC 18004 Table 7.
Related: do QR codes expire · all QR code tools
