All articlesQR CODES7 July 20264 min read

Making QR codes that actually scan

Most unscannable codes fail for one of five reasons. None of them are complicated.

A QR code is a pattern with error correction built in, which makes it surprisingly tolerant of damage. When one fails to scan it is almost never the code itself — it is how the code was produced or presented.

Contrast, the wrong way round

Scanners expect a dark pattern on a light background. Invert that — light modules on dark — and a large share of phone cameras simply will not read it, no matter how clean the design looks.

The missing quiet zone

The blank margin around a code is part of the specification, not decoration. It tells the scanner where the pattern begins and ends. Cropping it tight to save space is the single most common cause of a code that works on one phone and not another.

Too much content

Every extra character makes the grid denser. A code holding a short link is a coarse pattern that reads from across a room; the same code holding three paragraphs becomes a fine mesh that needs a much larger print size.

If you can read the individual squares from where the scanner will stand, so can the camera.

Print size and distance

A rough rule: about one centimetre of printed code for every ten centimetres of scanning distance. A code on a table card can be small. A code on a poster read from across a car park cannot.

Not testing it

Print it, or display it at final size, and scan it with an ordinary phone from where people will actually stand. It takes ten seconds and catches every one of the problems above.

TRY THE TOOLQR GeneratorCreate custom QR codes for links and text.