Technology

Why Your QR Code Is Not Scanning

Why Your QR Code Is Not Scanning

A QR code that will not scan is almost never mysterious. There are about eight things that go wrong, they are all visible once you know what to look for, and most of them happen between the design file and the printer rather than in the code itself.

Here they are, roughly in the order worth checking.

1. The quiet zone has been cropped

Every QR code needs an empty margin around it, four modules wide on all sides. The specification calls it the quiet zone, and it is not decoration. It is how a scanner works out where the code ends and the world begins.

This is the most common failure of the lot, because that margin looks like wasted space to anyone laying out a design. A code butted against a coloured panel, a photograph or the trimmed edge of a card has had its quiet zone eaten, and readers that coped on screen will fail on paper.

2. It is too small for the distance

The working rule is ten to one: a code should be at least a tenth as wide as the distance it will be scanned from. Two metres away means a twenty centimetre code. A poster read from across a car park needs one the size of a dinner plate.

Almost every failed shop-window code breaks this rule. It was designed at desk distance and installed at pavement distance.

3. There is too much data in it

More characters means more modules, and more modules at a fixed physical size means smaller squares. A long tracking address with campaign parameters can easily double the module count compared with a short link.

If your code looks like dense static rather than chunky blocks, it is holding too much. Shorten the link, drop the tracking parameters, or point at a redirect on your own domain.

4. The contrast is wrong, or inverted

Scanners expect dark modules on a light background. Reverse it, light code on dark, and a fair number of readers fail, because many decoders assume the darker regions carry the data.

Coloured codes work if the contrast is genuinely high. Navy on cream is fine. Mid-grey on beige is not, however elegant it looked in the brand guidelines. Red on black fails badly, because many sensors read red as dark.

Convert your design to greyscale and look at it. If you have to squint to separate the modules from the background, so will a phone.

5. It is printed on gloss

Glossy laminate reflects overhead lighting straight into the lens at precisely the angle people hold a phone. The code is perfect; the reflection is all the camera can see.

Matte stock, or a matte varnish over just the code area, fixes it. This is why restaurant table codes so often fail under spotlights while the identical code works fine in the kitchen.

6. The surface is curved

QR codes assume a flat plane. Wrap one around a bottle, a can or a takeaway cup and the modules distort. Scanners tolerate slight curvature, but a code spanning more than roughly a third of a cylinder’s circumference becomes unreadable.

Keep codes on the flattest panel available, and smaller than feels necessary, so the whole thing sits inside the flat part.

7. A logo has been dropped in the middle

You can obscure part of a QR code and still have it work, thanks to built-in error correction. What you cannot do is obscure an arbitrary amount and assume it is fine.

The highest correction level recovers around thirty percent of the code, but that budget also has to absorb the real world: scuffs, ink spread, a thumb, a fold. Spend it all on a logo and nothing is left over for any of that.

Keep any overlay under about fifteen percent of the area, centred, and never touching the three large squares in the corners.

8. A corner marker is damaged

Those three large squares are finder patterns. They tell the scanner where the code is, how big it is and which way up it sits. Unlike the data area, they are not meaningfully protected by error correction.

Clip one with a trim line, run one across a fold, or restyle one into a rounded blob and the code does not degrade. It becomes unfindable.

Testing that actually proves something

  1. Test the final printed piece, on the final stock, at final size. A PDF on a monitor proves nothing about ink spread.
  2. Test at the real distance, standing where a real person will stand.
  3. Test in the real lighting. Dim restaurants, sunlit windows and fluorescent corridors all defeat codes that behave perfectly at a desk.
  4. Test on an old phone. A recent flagship camera will read codes a five-year-old handset cannot, and your customers are not all carrying new phones.
  5. Test with the network switched off if the code carries data directly, to confirm you have not accidentally made it depend on a redirect.

If you are regenerating a code to fix any of this, our URL QR code generator runs entirely in the browser, so nothing you enter is uploaded anywhere.

One last thing worth internalising: when a code fails, regenerating it rarely helps, because the code was almost certainly fine. Look at the margin, the size and the surface first. That is where the fault nearly always turns out to be.

Join the discussion

Held for review before it appears. Links are not allowed and your email is never published.