Resources

Printing a code so it actually scans

Most codes that fail in the wild fail for one of six reasons, and all six are decided before it goes to press.

Size

The usual rule is that the code should be about a tenth of the distance it is scanned from: 2 cm on a table tent, 3 cm on a flyer, and considerably more on a poster people read from across a room. Below about 2 cm you are relying on a good camera and a steady hand.

Contrast, and which way round

Dark modules on a light background. A light code on a dark background works on many phones and fails on some, which is the worst kind of failure because it looks fine when you test it. Keep genuine contrast โ€” a mid-grey on white is thinner than it looks in print.

The quiet zone

The blank margin around the symbol is part of the symbol. Four modules' width, kept clear of text, borders and the edge of the page. Crowding it is the single most common cause of a code that scans on screen and not on paper.

Error correction and logos

Higher error correction means more redundancy and a denser symbol. A logo in the middle is only safe because of it โ€” but a logo covering much more than a fifth of the area destroys data faster than the redundancy can recover it. The studio warns you where that line is.

Materials and surfaces

Gloss laminate reflects, and a code on a shiny curved surface can be unreadable at every angle a person naturally tries. Matte wherever you have the choice. On a curve, larger and flatter than you think you need.

Test the actual print

Not the PDF on a monitor. Print a proof at final size on the final stock and scan it with an ordinary phone at the distance and lighting people will really have. This catches every problem above in about a minute.

Use vector โ€” SVG or PDF โ€” for anything larger than a flyer. A PNG scaled up in a layout program produces soft module edges, and soft edges are what a camera struggles with.