Why Your QR Code Isn't Scanning (and How to Fix It)

The most common reasons a QR code fails to scan — low contrast, wrong error correction level, a missing quiet zone, printing too small, and dead links — with a practical fix for each.

A QR code that fails to scan is almost never a printing accident — it's usually a generation mistake that was baked in before the file ever reached the printer. There are only a handful of real causes, and every one of them is fixable before you publish the code, not after 500 flyers are already printed.

Not enough contrast between the code and its background

Scanners read a QR code by detecting contrast between dark and light modules, not by recognising colour. A code in light grey on white, or dark blue on black, can look perfectly fine to a human eye and still fail to scan under normal lighting. Keep the foreground significantly darker than the background — plain black on white is the safest combination, especially for anything printed on packaging, receipts or paper.

The error correction level is too low

QR codes carry built-in redundancy so they still scan even if part of the code is dirty, creased or covered by a logo. If the error correction level is set too low (Level L) for a code that will live on a box in a warehouse or a sticker that gets handled a lot, any small damage can make it unreadable. For anything physical, Level M or Q is a safer default than the lowest setting.

The quiet zone (white margin) is missing or too small

QR codes need a clear, undisturbed margin of plain background around all four sides — the "quiet zone" — for a scanner to even recognise where the code starts. Cropping the image too tightly, or placing text or a logo right up against the edge, is one of the most common reasons a code that scans fine on screen fails once it is placed inside a design.

Printed too small for the scanning distance

A code meant to be scanned from a few centimetres away (a business card) needs far less physical size than one meant to be scanned from across a room (a poster or a storefront window). As a rule of thumb, the code should be roughly 1/10th the expected scanning distance — a code scanned from 3 metres away needs to be at least 30cm wide.

Pointing to a broken or unreachable link

The code itself can be technically perfect and still "not work" if the URL it encodes returns a 404, requires a login, or was a localhost/staging link that got baked in by mistake before publishing. Always open the destination link in an incognito browser window right after generating the code, before it goes anywhere near a printer.

Our QR code generator shows a live preview as you type, so you can check contrast and scan it with your own phone before downloading — catching most of these problems takes ten seconds, and it is far cheaper than a reprint.

→ QR Code Generator