Why Your QR Code Isn’t Scanning (and How to Fix It)
When a code fails, the problem is almost always physical design, print, or the destination — not “your phone being weird.” Work through this checklist before you reprint a thousand units.
Key takeaways
- Test contrast and size before blaming the camera app.
- Light-on-light, dark-on-dark, and busy backgrounds are common failures.
- Damaged corners, missing quiet zone, and glossy glare break detection.
- A code can “scan” and still fail the campaign if the URL is wrong or the page is broken.
1. Contrast is too weak
Modules need a clear difference from the background. Dark foreground on a light background is the safest default. Soft pastels, gold foil on cream, and low-opacity overlays look premium in mockups and fail in parking lots.
Fix: Rebuild with near-black modules on white or very light fill. Re-test on the actual printed stock.
2. The code is too small for the distance
If people scan from farther away than you designed for, cameras cannot resolve the modules. This is the classic storefront and poster failure.
Fix: Follow the print size guide and enlarge. Do not “sharpen” a tiny raster in an editor and hope.
3. Quiet zone is missing
Scanners need a clean margin around the symbol. Text, icons, or photo edges pressed against the code reduce reliability.
Fix: Add empty padding on all four sides. Keep the code away from trim and folds.
4. Distortion, curves, and damage
- Stretched non-square codes
- Wrapped tightly around bottles without testing
- Corners scuffed off corrugated boxes
- Heavy ink bleed on cheap newsprint
Fix: Keep aspect ratio 1:1, proof on the real object, and increase size on difficult surfaces.
5. Decorative styling went too far
Rounded dots and brand colors are fine within reason. Covering finder patterns, dropping contrast, or burying the code in illustration detail is not.
Fix: Simplify. In our generator, prefer high-contrast colors and verify live on a phone before export.
6. The payload is wrong (but the pattern “works”)
Scanners open whatever you encoded. Typos, http where you needed https, staging URLs, and missing redirects show up as “it scanned but nothing useful happened.”
Fix: Scan and read the decoded URL carefully. Open it on cellular data, not only office Wi‑Fi.
7. Dynamic / short-link vendor issues
If you used a hosted short link, an expired trial or deleted project can kill codes that used to work. Static codes that encode your final HTTPS URL avoid that class of failure — see static vs dynamic.
8. Environment and device
- Harsh reflections on laminate or glass
- Very low light
- Dirty camera lens
- Older devices struggling with tiny dense codes
Fix: Matte finishes, larger size, and brighter placement. Test multiple devices.
Field checklist
- Decode on two phones
- Confirm URL and landing page
- Check contrast on final material
- Measure physical size vs viewing distance
- Inspect quiet zone and damage
- Retry at angle and in target lighting
FAQ
It scans on my phone but not my client’s
Often size/density or older cameras. Enlarge and simplify; re-test on a budget Android device if that is your audience.
Can I fix a bad print without reprinting?
Sometimes with stickers over the old code. Do not try to “darken” a low-contrast print with markers on a whole run.
Does error correction fix everything?
It helps with partial damage, not with terrible contrast or microscopic size.
Create a cleaner QR code now
Create free QR codeNo login. Generated in your browser. Download as SVG, PNG, or JPG.