All posts
Guides··7 min read

QR code not scanning? Work through these causes in order

A QR code that will not scan is usually failing for one of about seven reasons, and they are easy to tell apart. Start with the white margin everybody crops off, then contrast, then size. Most codes are fixed in under a minute.

A phone at a checkout counter

A QR code either works or it does not, and when it does not there is no error message to read. You are left holding a card, a poster or a menu that a customer has already given up on.

The causes are a short list, and they are ordered here by how often they turn out to be the problem. Work down it; most codes are fixed before you reach the middle.

One: the quiet zone was cropped

Every QR code needs a clear margin all the way around — the quiet zone — and the specification asks for a band about four modules wide, a module being one of the small squares the pattern is made of. The scanner uses that empty border to find where the code starts and stops.

This is the most common failure in printed work, and it happens for an understandable reason: a designer placing the code in a tight layout crops the white space because it looks like padding. It is not padding. It is part of the code. If your code sits flush against a photo, a coloured block, a border or the edge of the page, give it room and test again before changing anything else.

Two: contrast, and inverted codes

The pattern must be dark on light. Scanners look for that polarity, and while some apps now handle a light code on a dark background, plenty do not — including cameras built into phones, which is how most people scan now.

The same applies to low contrast generally. A mid-grey code on a cream background can look elegant and read terribly. So can a code printed in a brand colour that is lighter than it appears on screen. If you must tint the code, keep the dark modules genuinely dark and the background close to white, and test on an older phone rather than the newest one in the room.

Three: size against scanning distance

The useful rule is one to ten. The code should be roughly a tenth of the distance it will be scanned from.

Held at arm's length — call it 30 cm — that means about 3 cm across. On a shop window read from two metres away it means 20 cm, which is far larger than most people design. Below about 2 cm, phone cameras cannot resolve the modules reliably whatever the print quality, so a tiny code in the corner of a business card is a decision to be unreadable.

Four: too much data in the code

The more characters a code carries, the more modules it needs, and the smaller each module becomes at a given size. A long URL full of tracking parameters produces a dense code that needs either more space or a better camera than your customer has.

Shorten what the code points at. A clean address on your own domain encodes into a sparser, more forgiving pattern than the same destination with a trail of campaign parameters attached — and it is easier to read aloud when someone's camera refuses anyway.

Five: the logo is eating the error correction

QR codes are built with redundancy so that a scratched or partly covered code still reads. There are four levels of it, and the highest can rebuild a code with roughly a third of its area unreadable. A centre logo is simply a planned piece of damage.

The failure happens when a logo is placed on a code generated at a low correction level, or when the logo is enlarged after the fact. If the brand mark has to be big, regenerate the code at the highest error correction level rather than making the logo smaller — and never cover a corner, because the three large squares are the finder patterns the scanner uses to orient itself.

Six: the printing and the surface

Ink bleed on uncoated stock thickens the dark modules and closes the gaps between them. Gloss throws back the light the camera needs. A code wrapped around a bottle or a cup is geometrically distorted, and a code on fabric moves while being scanned.

None of these show up in the file. They show up in the finished article, which is why the only test that counts is the printed one, in the lighting where it will live.

Seven: the scanning end

Sometimes the code is fine. Cameras need a moment to focus and some will not lock on closer than about 10 cm. A few older phones still need a dedicated scanner app rather than the camera. A scratched or greasy lens is a surprisingly common culprit behind a code that worked yesterday.

A two-minute test before you print five hundred

Print one, at final size, on the final material. Scan it with three different phones, including the oldest one you can borrow. Scan it from the distance a customer will really stand at, and once in poor light. Then hand it to somebody who has not seen it before and watch them, without helping.

That last step catches the failure no technical check will: a code that scans perfectly and lands on a page that does not explain what the person is meant to do next.

If you need a code to point somewhere, OneSol generates one for every page, product and form, and there is a free generator at onesol.io/qr-code-generator that produces a clean, high-correction code you can print.

Frequently asked questions

Why is my QR code not scanning?

In order of how often it is the cause: the white margin around the code was cropped away, the contrast is too low or the colours are inverted, the printed code is too small for the distance it is read from, the code carries so much data that the squares are finer than the print can hold, or a logo has covered more of the pattern than its error correction can rebuild. Each is visible to the eye once you know to look, and each has a different fix.

Does putting a logo in the middle stop a QR code working?

Not by itself. QR codes carry redundant data so a damaged code can still be read, and a logo is treated as damage. How much damage is survivable depends on the error correction level the code was generated with — the highest level tolerates roughly a third of the code being unreadable. A logo on a code generated at the lowest level will break it. If your logo must be large, regenerate the code at the highest error correction rather than shrinking the logo.

What size should a printed QR code be?

A rule of thumb that holds up well is one to ten: the code should be about a tenth of the distance it is scanned from. Read at arm's length, around 30 cm, it wants roughly 3 cm across. On a poster read from 3 metres it wants about 30 cm. Below about 2 cm, phone cameras struggle regardless of how good the print is.

Can a QR code be light on a dark background?

The specification expects dark modules on a light background, and many scanners — including some built into phone cameras — only look for that. Inverted codes do work in some apps, which is exactly why they ship: the designer tested on a phone where it worked. If the code matters commercially, keep it dark on light.

Why does my QR code work on screen but not on paper?

Screens are backlit, high contrast and perfectly sharp, so they forgive problems that paper does not. Print adds ink bleed, lower effective resolution, paper colour, glare from gloss, and curvature if it is on a bottle or a cup. Always test the printed article, not the file, and test it in the light the customer will be standing in.

Run all of this from one link.

Free to start — no card required.