LinkForge

Aug 9, 2026

QR Codes in Print: What Size to Use, and Why Yours Failed

A QR code that works perfectly on your monitor can be unscannable on a poster. The failures are predictable and every one of them is avoidable at design time — which is the only time you can fix them, because print is permanent.

Size: the distance rule

The single most useful rule of thumb is a ten-to-one ratio between scanning distance and code size. Divide the distance a person will stand from the code by ten, and that's your minimum width.

  • A business card, read at about 30cm — roughly 3cm of code
  • A table tent or menu, read at about 60cm — roughly 6cm
  • A poster at eye level, read from 3m — roughly 30cm
  • A billboard read from 20m — 2m, which is usually the moment people discover a QR code was the wrong idea

Round up. Nobody has ever complained that a QR code was too easy to scan, and phone cameras vary enormously — an older device in bad light needs far more margin than the one you tested with.

Density: shorter URLs make bigger squares

This is the part most people miss. A QR code encodes your text into a grid of modules — the little squares. More characters means more modules, and since the printed code is a fixed physical size, more modules means each one is physically smaller. Smaller modules are harder for a camera to resolve.

So a long URL doesn't just make a busier-looking code, it makes a measurably harder one to scan at the same printed size.

This is the strongest practical argument for putting a short link inside a QR code rather than the raw destination. A short link of twenty-odd characters produces a visibly coarser, more forgiving grid than a hundred-character URL with tracking parameters bolted on — and it stays editable after printing.

Error correction: pick deliberately

QR codes carry redundancy so a damaged code still scans. There are four levels, and the generator lets you pick:

  • Low (7%) — screen only, clean conditions
  • Medium (15%) — sensible default for most print
  • Quartile (25%) — surfaces that get handled, scuffed, or rained on
  • High (30%) — packaging, outdoor use, or when a logo covers the centre

Higher correction is not free: the redundancy is more data, which means more modules, which means smaller modules at the same physical size. High correction on a small code can scan worse than medium. Use High when you have a real reason — damage or a logo overlay — not as a default.

The quiet zone

A QR code needs clear space around it, four modules wide on every side. Scanners use that blank margin to find the code's edges. Crop it tight against a photo or a border and detection gets slow or fails outright. Keep the margin setting on and don't let a designer trim it.

Contrast and colour

  • Dark code on a light background. Some scanners handle inversion; enough don't that it isn't worth the risk.
  • Keep real contrast. Mid-grey on pale grey looks elegant and scans badly. If it would fail as text, it fails as a code.
  • Never place a code over a photo or a gradient. Local contrast changes across the code and detection breaks.
  • Colour is fine when it's genuinely dark against genuinely light. Brand colours often aren't.

Print from vector, never from a PNG

Export SVG for anything going to print. A PNG is a fixed grid of pixels; scaling it up for a poster produces soft, blurry module edges, and softness is exactly what defeats the camera's threshold detection. Vector stays crisp at any size. Use PNG for screens and slides only.

Test before the print run

Print one at final size, on the actual material, and then:

  • Scan from the real distance, not from 20cm away
  • Try at least three phones, including the oldest one you can find
  • Try it in bad light, and under the glare the venue actually has
  • Have someone who has never seen it try — you know where to point

Glossy stock and lamination cause reflections that can wipe out a code under a spotlight. Matte is safer for anything mounted under lighting.

Make it dynamic

A code encoding your destination directly is frozen the moment it's printed. A code encoding a short link can be repointed forever, and every scan is recorded. Given the printing cost is identical, there is no good argument for a static code on anything with a print run.

Generate a QR code — pick your error correction, download the SVG, and test it before it goes to press.

Track every click, free

Unlimited short links with real-time analytics.

Create free account