ScanTraceQR
← All guides Guide

QR Code Size and Print Resolution: The Practical Spec Guide

By The ScanTraceQR Team · July 25, 2026 · 8 min read


A QR code either scans instantly or it doesn’t scan at all — there’s not much middle ground, and you usually find out after the posters are printed. The good news is that almost every failure comes down to a handful of measurable things: size relative to reading distance, the blank margin around the pattern, contrast, and how much data you crammed into it. Get those right and a code will work in poor light, at an angle, on a cheap phone.

This is the practical spec sheet: the numbers to use, why they are what they are, and the mistakes that kill codes in the real world.

The 10:1 rule — sizing for scanning distance

The single most useful number in QR design: a code should be at least one tenth as wide as the distance it will be scanned from. Divide the reading distance by ten and that’s your minimum width.

  • Business card, product label, table tent — read from ~25–30 cm → 2.5–3 cm code
  • Flyer or magazine page — read from ~40 cm → 4 cm code
  • A3 poster on a wall — read from ~1.5 m → 15 cm code
  • Shop window, read from the pavement — ~3 m → 30 cm code
  • Billboard — ~20 m → 2 m code

Treat 10:1 as the floor, not the target. Going 20–50% larger costs you almost nothing in layout and buys a lot of tolerance for bad light, motion, older phone cameras and people who don’t stand exactly where you imagined.

There is also an absolute floor regardless of distance: about 2 × 2 cm. Below that, the individual modules — the small squares making up the pattern — get close to the resolving limit of a typical phone camera, and autofocus starts hunting.

Sanity check before you send to print: view the code at its real printed size on screen, then scan it with the oldest phone in the office, in a badly lit room, holding it at a slight angle. If that works, the print will work.

The quiet zone — the margin you must not crop

Every QR code needs a blank margin around it so scanners can tell where the pattern ends. The specification calls for four modules of clear space on all four sides. A module is one of the smallest squares in the code, so if your modules are 1 mm, you need 4 mm of blank space all round.

This is the most common thing designers get wrong, because a QR code looks like it ends at the edge of the black pattern. Tight-cropping it to fit a layout, or letting a background image, a border rule or a fold line intrude into the margin, will break codes that scanned perfectly in the design file.

The quiet zone must also be the same colour as the light modules — usually white. A code sitting on a coloured panel needs its own white pad, not just a gap.

Resolution and file format

A QR code is pure geometry — hard-edged squares with no gradients — so it is ideal vector artwork. Whenever the option exists, export SVG, EPS or PDF. It will be mathematically sharp at any size, and your printer can scale it without you re-exporting.

If you must use a raster image:

  • 300 DPI minimum at final printed size for anything held in the hand. 150 DPI is acceptable for large-format work viewed from a distance.
  • Use PNG, not JPEG. JPEG compression creates soft halos around high-contrast edges, which is precisely what a QR code is made of. At small sizes this can smear modules into each other.
  • Scale by whole-number multiples where you can, and turn off smoothing/interpolation. Resampling a QR code with bicubic smoothing rounds off the module corners.

Also make sure the module grid lands on whole pixels. A code scaled to a non-integer multiple can end up with modules that are 3 px wide in one place and 4 px in another, which reads as a slightly wobbly grid.

Contrast and colour

Scanners look for a strong light/dark difference. The safest choice remains black on white, and everything you do to make a code prettier trades away margin for error.

  • Keep the dark modules genuinely dark. A mid-grey or pastel code on white often fails in low light even though it looks fine on a bright screen.
  • Don’t invert. Light modules on a dark background break a meaningful minority of scanner apps, which assume dark-on-light. If your brand demands it, test widely — and have a fallback.
  • Avoid busy photographic backgrounds. Even outside the quiet zone, a high-contrast image directly around the code can confuse edge detection.
  • Mind the ink. Rich blacks made from heavy CMYK builds can spread on absorbent stock, thickening modules and closing the gaps between them. A single-plate black is more predictable.

Error correction: how much damage a code can survive

QR codes carry redundant data so they still read when part of the pattern is obscured. There are four levels:

  • L — recovers ~7% of data
  • M — ~15% (the usual default, and a sensible one)
  • Q — ~25%
  • H — ~30%

Higher correction means more resilience but a denser pattern for the same content, which pushes your minimum physical size up. It is not free.

Use M for clean flat print. Step up to Q or H when the code will live somewhere it can get scuffed, wet or partially covered — packaging, outdoor signage, vehicle livery — or when you’re placing a logo in the middle. That logo trick works precisely because it consumes error-correction budget; keep it under about 20% of the code area and always test the result.

Keep the encoded URL short

This is the lever most people forget. The more characters you encode, the more modules the code needs, the smaller each module becomes at a fixed physical size, and the harder it is to scan.

A long campaign URL with tracking parameters can easily double the density of a code versus a short redirect link. That’s a real, visible difference in scannability at business-card size.

Using a short redirect link fixes this and gives you two other things for free: the destination becomes editable after printing, and every scan is measurable. That’s the case for a dynamic QR code in a nutshell — and it’s why the density argument usually settles the static-versus-dynamic debate on its own.

Surfaces and placement

  • Matte beats gloss. Glossy laminate and varnish throw specular highlights straight back into the camera under shop lighting.
  • Flat beats curved. On bottles, cans and tubes, keep the code narrow relative to the curve so the pattern doesn’t distort. Wrapping a code around a cylinder is a reliable way to break it.
  • Reachable beats decorative. A code above head height, behind glass with a reflection, or below knee level on a pull-up banner is technically perfect and practically useless.
  • Give it a reason. A short line of text — “Scan for today’s menu” — measurably increases scans over a bare code.
  • Print the URL underneath as a fallback for anyone whose camera won’t cooperate. This costs nothing and rescues the scan.

Pre-flight checklist

  • Code width ≥ 1/10 of the intended reading distance, and ≥ 2 cm
  • Four-module quiet zone intact on all sides, in the light colour
  • Vector artwork, or 300 DPI PNG at final size
  • Dark-on-light, strong contrast, no inversion
  • Error correction M for flat print, Q/H for hostile environments or a centre logo
  • Short encoded URL
  • Scanned successfully from the real printed proof, at the real distance, in bad light, on an old phone

Make one and test it

Our free QR code generator produces a code in your browser you can download and drop straight into a layout. If the destination might ever change — or you want to know how many people actually scanned that poster — create a free tracking link instead and you’ll get a dynamic code plus scan analytics, with a short encoded URL that keeps the pattern clean. See the QR code tracker for what the analytics look like.

Frequently asked questions
What is the minimum size for a QR code?

About 2 × 2 cm (0.8 × 0.8 in) for a code someone scans from arm’s length. Below that, most phone cameras struggle to resolve the individual modules. The general rule is that the code should be at least one tenth of the scanning distance — so a code read from 3 m needs to be roughly 30 cm across.

What DPI should I print a QR code at?

Print raster QR images at 300 DPI minimum for anything held in the hand. Better still, export vector (SVG, EPS or PDF) so the code stays perfectly crisp at any size — a QR code is pure geometry, so it loses nothing as vector artwork.

Why won’t my printed QR code scan?

The usual suspects, in order: it’s too small for the reading distance, the quiet zone (the blank margin) was cropped, the contrast is too low, the colours are inverted (light code on dark background), or it was printed on a glossy or curved surface that scatters light.

Do I need a white border around a QR code?

Yes. The specification requires a clear margin of four modules on all four sides — that’s four of the smallest squares in the pattern. Cropping it is one of the most common reasons a code that worked on screen fails in print.

Try it yourself — free

Create your first tracking link and QR code in under a minute.

Get started free
Keep reading