Guide

QR code best practices for print

A code that scans flawlessly on your screen can still fail on paper. This checklist covers the handful of things that decide whether a printed code actually works.

4 min readQrcado

  • Size & contrast
  • Logo & margin
  • Test before print
On this page
  1. Size it for the distance, not for the page
  2. Keep strong contrast and a clear margin
  3. Add a logo without breaking the scan
  4. Place it within reach, and say what it does
  5. Test on real phones before the run
  6. Print dynamic so a mistake is not permanent
  7. Approve a physical proof, not only a PDF
  8. Keep an ownership record
  9. Turn the advice into a release checklist

Size it for the distance, not for the page

The most common reason a printed code fails is that it was sized to fit the layout instead of the way people will scan it. Work from the farthest point someone will realistically stand and divide that distance by ten — that is roughly your minimum width. A code scanned from across a room needs to be far larger than one on a card held in the hand. When you are unsure, go a little bigger; a slightly oversized code still scans, while an undersized one simply does not.

Keep strong contrast and a clear margin

A camera reads a code by separating dark cells from light ones, so contrast is not optional. Dark pattern on a light background is the dependable choice; if you bring in brand colours, keep a real difference in brightness between the two and avoid gradients or busy artwork sitting directly behind the pattern. Just as important is the empty border around the code, called the quiet zone. Leave clear space on all four sides so the scanner can find the edges, and never let text, images or the paper’s trim crowd or clip it.

Add a logo without breaking the scan

A small logo in the centre is fine, because QR codes carry redundant data and use error correction to fill minor gaps. The safe way to do it is to keep the logo modest in size, raise the error-correction level when you add one, and leave the three large corner squares completely untouched — they are the markers a scanner uses to orient itself. Then test it, because ‘looks fine on screen’ and ‘scans off paper’ are not the same claim.

Place it within reach, and say what it does

A code works best at a height and spot a phone can comfortably reach — around eye or chest level on a poster, flat on a table, never tucked into a fold or wrapped around a curved bottle where the pattern distorts. And a bare square asks a question it never answers. A short line beside it — ‘Scan to see the menu’, ‘Scan to book a table’ — gives people a reason to lift their phone, and reliably increases how many actually do.

Test on real phones before the run

Proof the code the way it will be used, not the way it looks in the design file. Print it at final size on the actual material, then scan it with a few different phones, from the nearest and farthest distances, in the lighting where it will live. Matte stock tends to beat glossy under bright lights, which can throw glare across the pattern. Five minutes here is far cheaper than discovering a dead code after a thousand copies are already boxed.

Even flawless print can point at the wrong link, or a page that changes next season. A dynamic code keeps the printed pattern fixed while letting you edit where it leads — so a typo in a URL, a moved landing page, or a finished promotion becomes a quick edit rather than a reprint. It also counts scans, which shows you whether the placement is pulling its weight. For print especially, that safety net is worth having in place before the ink dries.

Approve a physical proof, not only a PDF

Export the final QR artwork as PNG or SVG, place it in the actual layout and print one production proof. Scan with multiple phones at the intended distance. Check glare, folds, cutting tolerances, lamination, curved surfaces and the quiet zone. A code that works from a bright design monitor can fail after ink spread or reflective finishing.

Keep an ownership record

For every dynamic code, record its printed placements, destination owner and review date. When content changes, update the existing record instead of generating a new QR image. That small discipline prevents old artwork and new destinations from drifting apart.

Turn the advice into a release checklist

Before publishing or printing, record the QR type, destination, owner, artwork version, physical placement and test result. For dynamic codes, also record the reporting name and any utm_source value. This makes later edits and campaign reviews much easier than trying to reconstruct decisions from the image file.

Re-test after any change to the destination, custom domain, password, schedule or printed format. A reliable QR programme treats the code as a maintained asset, not a one-time graphic.

Design a code built to print

Create a code, style it with your logo and colours, and export a sharp, print-ready file.