A QR code that won't scan almost always comes down to one of five fixable things: lighting, distance and angle, a dirty camera lens, a missing quiet zone around the code, or damage that outruns what the code's error correction can recover. Work through them in order, and you'll usually have it scanning again in under five minutes.
Quick answer
Start with the phone, not the code. Bad light, the wrong distance, camera shake, a smudged lens — these are environmental, and they're the fastest things to rule out. If the phone checks out and the code still won't scan, the print itself is probably the problem: not enough blank margin around it, too much data packed into too little space, or damage beyond what its error correction level can patch over. The checklist below covers both, phone first, then code.
Step-by-step: the five-minute checklist
1. Fix the lighting and angle. Most phone scanners don't fire the flash during a QR scan, so bright, even lighting matters more than you'd think — turn on an extra light, move toward a window, and check for shadows your own hand might be casting. Hold the phone roughly parallel to the code; a steep angle distorts the modules enough to break detection.
2. Adjust distance and hold still. Start about a foot away and move slowly closer until the code fills the on-screen scan box. Some cameras can't autofocus at very close range, so back off rather than pushing in. Rest your elbows on a table, or set the phone down — shake matters more than you'd expect.
3. Clean the lens and change the surface. A dust- or smudge-covered lens is easy to overlook — wipe it with a soft cloth. Textured or curved surfaces can also confuse autofocus, so move the code somewhere flat and plain.
4. Confirm you're using the native camera. No separate app needed — both iPhone and Android read QR codes directly through the built-in Camera app, which rules out "wrong app" as the cause. Our iPhone vs. Android scanner comparison breaks down what's built in versus what needs a third-party app.
Common problems and fixes
Missing or too-narrow quiet zone. Every QR code needs a blank margin of at least four modules wide on all four sides, so the scanner's finder patterns stand apart from whatever's around them. A code cropped against a border or logo can fail even though the pattern itself is intact.
Too small or too dense for the print. More data — a long URL versus a short one — means more modules, which shrinks each module's physical size at a given print dimension. Denser codes are just more sensitive to blur, low resolution, and distance than a simpler code at the same size.
Damage beyond the error correction budget. QR codes use error correction that reconstructs 7% to 30% of the data, depending on which of four levels — L, M, Q, or H — was chosen at creation. A smudge or logo overlay inside that budget still scans; damage beyond it doesn't. Our guide to QR code error correction covers how much a code can take before it stops working.
The link, not the code, is the problem. Dynamic QR codes point to a URL that can expire, get deleted, or hit a scan limit the creator set — the pattern hasn't changed, but the destination has. Worth checking before you assume the print is damaged.
Doing this on QRDock specifically
QRDock's scanner runs the destination URL through a best-effort phishing check before opening it, with no tracking and no ads — a second layer worth having, though it's a safety check, not a substitute for this checklist. Open a stubborn code in qrdock.app; if it still won't scan, the code needs regenerating with a wider margin, lower data density, or a higher error correction level.
Frequently Asked Questions
Why does my QR code scan sometimes but not other times?
Inconsistent scanning is almost always environmental — small changes in lighting, angle, or distance. If it's still hit-or-miss under good conditions, the code may be too small or too close to its error-correction limit.
Can a QR code just stop working after it was scanning fine before?
Yes — often the code hasn't changed, but what it points to has. Dynamic codes can have their URL expire, get deleted, or hit a scan limit. Static codes are more likely to wear out physically: fading, creasing, sun exposure.
Does the color of a QR code affect whether it scans?
Yes. Scanners rely on strong contrast, so dark modules on a light background work best. Low-contrast pairings — light gray on white, pastel on pastel — can drop below what edge detection can reliably pick up.
Do I need a special app to scan a QR code?
No. Both iPhone and Android scan QR codes in the native Camera app, so a failed scan is rarely a missing-software problem. It's almost always the code, the lighting, or the phone's distance and angle.
Conclusion
Nearly every "why won't this scan" moment traces back to one of five things: lighting, distance and angle, a dirty lens, a missing quiet zone, or damage beyond the code's error correction budget. Work through the checklist in order, phone first, then code — and if it still won't scan after all five, the code needs to be regenerated rather than fixed in place.