Why won't my QR code scan?
The camera stares and nothing happens. Or the scan works, but only for one phone out of three. A failed scan always sits in one of three layers: the phone, the code's design, or the surface it lives on. Work through them in this order — it takes five minutes.
Layer 1 — The phone
Rule out the reader before blaming the code:
- Dirty or scratched lens — trivial, and responsible for more failures than anyone admits.
- Old device — native cameras only started reading QR codes reliably around 2017-2018; older phones need a scanner app.
- Low light — cameras need contrast; a dim restaurant defeats a borderline code.
- Distance — too close blurs focus, too far shrinks modules below detection. Move slowly between 15 and 50 cm.
If a recent phone in decent light fails too, move down a layer.
Layer 2 — The design
This is where most "mystery" failures live:
- Weak contrast. Scanners read the difference between dark modules and light background. Pastel on cream, grey on white, gold on beige — pretty, unreadable. Our generator scores contrast live for exactly this reason.
- Missing quiet zone. The white margin around the pattern is required by the standard: it is how readers find the code's edges. Cropped to fit a layout, the code becomes invisible to many scanners while looking perfectly fine to humans.
- Inverted colors. Light modules on a dark background break a large share of readers. Keep it dark-on-light.
- Oversized logo. A centered logo spends the error-correction reserve. Fine at maximum correction with a modest logo; fatal at low correction with an ambitious one.
- Too much data. Long URLs create dense patterns with tiny modules. Shorten the destination and the whole code relaxes.
Layer 3 — The surface
A perfect code can be defeated by where it sits: glossy paper and laminates throw glare, curved surfaces (bottles, cups) distort the grid, metal reflects, folds and creases cut through modules, and placement near an edge amputates the quiet zone. A printed code that fails after working on screen is almost always a layer-3 story — often combined with a size problem.
Quick fixes, in order of effectiveness
- Enlarge the code — size forgives many sins; the print guide gives the numbers. If the print looks soft or pixelated, that is its own fixable problem.
- Restore full contrast: dark pattern, light background, real margin.
- Shorten the URL to thin out the pattern.
- Reduce or remove the logo, or regenerate at maximum error correction.
- Reprint matte, flat, away from folds and edges.
When the scan works but nothing good opens
If the camera reads the code and the failure happens *after* — an error page, a paywall you never created — the problem is not scanning at all: it is the link behind the code. That is a different diagnosis, covered in Why did my QR code stop working?
Frequently asked questions
Why does my QR code scan on some phones but not others?
Borderline design. Older cameras and darker conditions have less tolerance for weak contrast, missing quiet zone, dense patterns or small prints. A code that only scans on recent phones in good light is a code that fails in the field.
Can an inverted QR code (light on dark) be scanned?
Some modern readers manage it, many do not. The standard assumes dark modules on a light background. If you need a dark design, put the code in a light box rather than inverting it.
Does a screen protector or laminate stop QR codes from scanning?
Glossy films and laminates cause glare that can blind the camera at certain angles. Matte finishes scan more reliably; with gloss, test at several angles and distances.
My camera opens nothing when I point it at the code — is the code broken?
Not necessarily. On older phones the native camera cannot read QR codes and a separate app is needed. Test with a recent phone before concluding the code itself is at fault.
Create a QR code that answers to no server.
Static, permanent, yours. €5 once — no subscription, no expiry, print-ready files.
Create my permanent QR