Why QR codes fail to scan

Most failures are one of six things: printed too small for the distance, quiet zone obstructed, insufficient contrast, an oversized logo, a glossy or curved surface, or a destination that has since died. All six are avoidable before printing.

Work out your size

The length matters: more data means more modules, which means a larger code.

Print it at least
47 mm
Absolute minimum
36 mm
Each module
1.42 mm
At 300 DPI
556 px
Code density
version 2, 25×25

1. Printed too small for the distance

The most common cause by a distance. A code sized for a flyer gets used on a poster, and nobody checks. The camera cannot resolve the individual modules, so there is nothing to decode.

The symptom is characteristic: it scans fine when you walk right up to it and not at all from where people actually stand.

2. The quiet zone is obstructed

The blank margin around the pattern is part of the code. Scanners use it to locate the edges, and the specification requires four modules' worth on every side.

Designers remove it constantly, because it looks like wasted space: a border drawn tight around the code, a caption tucked in beside it, a background image running underneath. The code then works on a plain background and fails on a busy one, which makes it look intermittent rather than broken.

3. Not enough contrast, or inverted

Scanners threshold the image into dark and light. Two colours that look clearly different to a person can be nearly identical in luminance, and a mid-grey pattern on a pale background frequently is.

Inversion, a light pattern on a dark background, is its own problem. It looks striking, and many scanners assume dark-on-light and simply do not read it.

Every generator here checks both before you download, and refuses to let you export a combination that will not work.

4. The logo is too big

A centre logo covers modules that error correction then has to reconstruct. Within limits that works, which is exactly why it is dangerous: the code appears fine right up until it does not.

The failure usually appears after printing, when the logo damage combines with the print's own imperfections and pushes the total past what error correction can recover.

The rule applied here is to spend at most half the recovery capacity on the logo, leaving the rest for the real world. Every code is then decoded with the logo in place before it can be downloaded, which is the only way to actually know.

5. Gloss, curves and materials

Glossy lamination reflects overhead lighting straight back into the camera. A code that scans on a matt proof can fail on the laminated version, indoors, under exactly the lights it will live under.

Curved surfaces, such as bottles, cups and tubes, distort the pattern. Small codes on gentle curves are usually fine; large codes on tight curves usually are not.

Fabric, textured card and low-quality thermal receipt printers all blur module edges. Where the substrate is poor, raise the error correction level and print larger than the calculator's minimum.

6. The code scans but the destination is dead

This is not really a scanning failure, and it is the one that costs the most, because it happens months after printing when nobody is watching.

The menu PDF moved. The campaign page was deleted. The site was rebuilt and the URL changed. The code still decodes perfectly and delivers everyone to a 404.

It is also the only one of the six that a static code cannot recover from. This is the strongest practical argument for making a code dynamic when it will be printed on something with a long life.

Questions

Why is my QR code not working?
Work through it in this order, because it settles the question fastest. First, does anyone else's phone read it? If yes, the code is fine and the problem is that phone. If no phone reads the printed copy but the original file reads on screen, it is the print: usually size, a blank margin something has crept into, or low contrast. If nothing reads it anywhere, the code itself is damaged or was never valid. The checker here reads a photo of the code and tells you which of those three it is.
Why won't my phone scan a QR code?
The common causes are dull light, a dirty lens, holding the phone too close, and a code printed too small for the distance you are standing at. Move to about ten times the code's width away, steady the phone, and give it a second. If you are scanning a code off a screen, raise the screen's brightness, because a dim screen is the single most common reason a code on a laptop will not scan.
Why does my iPhone not scan QR codes?
Scanning is built into the Camera app, but it can be switched off. Open Settings, then Camera, and check that Scan QR Codes is on. If it is on and nothing happens, try the dedicated Code Scanner in Control Centre, which works when the Camera app is being fussy. A very old iPhone running iOS 10 or earlier has no built-in scanner at all and needs an app.
Why won't my Android phone scan a QR code?
Most Android cameras scan through Google Lens, and some makers put the setting behind a toggle in the camera app rather than on by default. Look for a scanning or Lens option in the camera settings. Newer Android versions also have a QR scanner tile in Quick Settings, which is the quickest thing to try when the camera app will not cooperate.
What does "no usable data found" mean when I scan a code?
That message means the scan worked and the reading did not. Your phone decoded the pattern successfully, then found content it cannot act on: plain text that is not a link, a malformed web address, or a format that scanner does not handle. So the print is fine and the contents are the problem. Paste the code into the checker here and it will show you the exact text the code carries, which is usually enough to see what went wrong.
How damaged can a QR code be and still scan?
More than people expect. Every QR code carries error correction, and at the usual level about 15 percent of it can be missing or obscured before it stops reading. At the highest level that rises to about 30 percent, which is why a logo can sit in the middle of one. What error correction cannot survive is damage to the three corner squares, because those are how a scanner finds and squares up the code in the first place.
My code works on my phone but not on my customer's. Why?
Almost always a marginal code meeting a weaker camera. Older phones, cracked lenses and poor lighting all reduce effective resolution. If a code is close to the size or contrast limit, it will work on a good camera and fail on an average one, which means half your customers.
Can I test a code without printing it?
Yes, in two ways. Every generator here decodes the finished code before you download it, which catches encoding, logo and contrast problems. What it cannot test is the physical print: gloss, curvature, ink spread and lighting. Always scan the actual proof. And for a code you already have, from anywhere, the free checker at scanlight.org/qr-code-checker reads a photo of it and reports contrast, margin and the right print size.
Does adding a caption help?
Yes, substantially, though not with scanning. A code labelled with what it does is scanned considerably more often than a bare one, because people scan for a reason rather than out of curiosity. Keep the caption outside the quiet zone.

More guides

  • Minimum QR code size: how small can a QR code be?About 20 mm for a code holding a short link. The real limit is the module, not the overall width: below roughly 0.4 mm per module a phone camera stops resolving it. Work out the floor for your own code.
  • What size should a QR code be?The rule is scanning distance divided by ten, adjusted for how much data the code holds. Work out the exact size for your code and where it is going.
  • Static vs dynamic QR codes: the honest differenceStatic codes contain the destination and work forever. Dynamic codes contain a redirect you can change and can be tracked. Here is what each actually costs you.
  • Do QR codes expire?A plain answer: a free static code never expires, and a trackable code only stops when the service behind it stops. Here is how to tell which kind you have, and what to ask before you print.
  • My QR code stopped working after I printed itWhy a printed QR code that used to scan suddenly does not, how to find the cause in two minutes, and what to do about the batch you already printed.
  • QR code size for a poster: how big does it need to be?On an A0 conference poster, 70 to 90 mm. The rule is ten to one: a code reads from about ten times its own width, and 70 mm covers the 700 mm someone photographs it from. Work out the size for your own poster and your own link.