Why Is My QR Code Not Scanning?
A QR code that looks perfect can fail silently. This guide walks through the most common causes of scanning failure and exactly how to fix each one.
In This Guide
1. Contrast Problem
Symptom: Code looks visually clear but scanner app shows nothing.
Cause: The dots are not dark enough relative to the background. Light gray on white, yellow on white, or brown on beige can all appear readable to a human but invisible to a camera sensor.
Fix: Use a dot color with a contrast ratio of at least 4.5:1 against the background. Dark navy, dark green or black on white are reliable. Re-download and test.
2. Inverted Colors
Symptom: Code scans on some phones but not others — or not at all.
Cause: Light modules on a dark background. Most decoders are optimised for dark-on-light; inverted codes confuse them.
3. Too Small
Symptom: Phone camera won't lock onto the code; needs to be very close and the preview is unstable.
Cause: The printed code is too small for the scan distance.
Fix: Minimum 2 cm for hand-held use. 5+ cm for table cards and posters. See the QR Code Size Guide for full distance recommendations.
4. Missing Quiet Zone
Symptom: Scanner sees the code but cannot decode it; camera flickers around the code.
Cause: The white border (quiet zone) around the QR code has been cropped or removed. Without it, the decoder cannot locate the boundaries of the code.
Fix: Ensure at least 4 module widths of clear white space on all four sides of the QR code. Do not place other design elements against the edge of the code.
5. Content Too Long
Symptom: Code scans but very slowly, or only on newer phones.
Cause: A very long URL or large vCard creates a high-density QR pattern with tiny modules — these are harder to decode, especially on older cameras.
Fix: Shorten the URL using a URL shortener. Print the code larger. Or use a Dynamic QR code (requires free account) — the embedded URL is short regardless of the destination URL length.
6. Damage, Glare or Texture
Symptom: Code scanned fine initially but now fails after printing or lamination.
Cause: Physical damage (scratches, tears), glare from laminate, or a textured surface that distorts the QR pattern.
Fix: Use a matte laminate instead of gloss. Avoid placing QR codes on curved or textured surfaces. If the code is partially damaged, recreate it with a higher error correction level (H instead of M) — this allows up to 30% damage before failure.
7. Dead Destination URL
Symptom: Code scans successfully (shows a URL or progress) but ends at a 404 page or an error.
Cause: The URL embedded in the QR code is no longer live — the page was moved, deleted or the domain expired.
Fix: For static QR codes, you must create and print a new one. To avoid this problem in the future, use a Dynamic QR code (requires free account) — you can update the destination URL at any time from the dashboard without reprinting.