scanbam
Make one now
← Blog

Why QR codes fail on paper

printing

A code that scans on your monitor can be unreadable on a flyer. Three reasons, and what to do about each.

A QR code is a contrast puzzle. A camera has to find three square markers, work out the grid, and then read every cell as light or dark. On a backlit screen at 100% zoom that is easy. On paper, at the size a code actually gets printed, three things go wrong.

It is too small

The more you put in a code, the more cells it has, and the smaller each cell becomes at a given size. A short link and a long tracking URL are not the same code, and the second one needs more room.

That is why we work out the minimum for your code and state it, rather than offering a row of sizes. It is a number nobody can guess, and it changes as you type.

The colours are too close

A gradient that runs from light yellow to slightly lighter yellow looks lovely and reads as one flat colour to a camera. Contrast is the whole mechanism.

The trap is averages. A gradient can pass a contrast check on its average colour and still have an end that fails, and the end is where the code stops scanning. Ours are measured at their worst point, and they vary in hue rather than lightness so they stay readable while still being colourful.

Something is in the quiet zone

Every code needs an empty margin on all four sides — four cells wide. It is not decoration; it is how a scanner knows where the code stops. Tucking a code into a corner, or putting a border tight around it, eats that margin.

It is the most common print failure there is, and the easiest to cause by accident in a layout tool.

The short version

  • Print it at least as wide as we tell you, and round up rather than down.

  • Keep the margin clear.

  • If you are handing it to a printer, send the PDF or the SVG rather than a PNG.