How big should a QR code be?

7 minute read · updated 2026-10-19

Most QR codes that fail in the real world fail for one reason: they were printed too small for the distance people stand at. The data is fine, the generator did its job, and the code is simply too little for a camera to resolve.

Sizing a code is not complicated. It comes down to one ratio, a blank border, and how much you crammed into it.

The 1:10 rule of thumb

As a working guide, a QR code needs roughly 1 cm of width for every 10 cm of scanning distance. Scanning from 30 cm away, as someone would at a table, means around 3 cm across. From 2 metres, around 20 cm. From 10 metres, around a metre.

This is a rule of thumb, not a specification. It assumes an ordinary phone camera, a modest amount of data, good contrast and decent light. Treat it as a floor rather than a target: going bigger costs nothing and buys tolerance for poor light, shaky hands and older phones.

Work out the distance honestly. People do not walk up to a poster, they scan it from where they are standing.

The quiet zone

A QR code needs a margin of blank space around it, called the quiet zone. The standard is four modules wide, a module being one of the small squares the code is built from. Without it, a scanner cannot tell where the code stops and your design starts.

In practice, leave a clear border roughly as wide as four of those little squares on every side, in the same colour as the code's background. Do not run text or a photo into that space, and do not crop the code tight to fit a layout. More quiet zone than the minimum often helps.

More data means a bigger print

A QR code's grid grows with the amount of data. A short link might produce a 25-by-25 grid; a long URL stuffed with tracking parameters might produce 45-by-45 or more. The code occupies the same physical area, so each module gets smaller, and smaller modules need either a closer camera or a bigger print.

So keep the content short — a tidy link beats one with a query string trailing behind it. The error-correction level adds modules too: higher correction means more redundancy and a denser code. Codeshed lets you change that level, and for most printed codes the lower or medium settings are sensible. Raise it only if the code will be scuffed or carries a logo in the middle.

Minimum practical sizes

Rough starting points, assuming a short link and a clean print:

Test these rather than trusting them. Print at the size you intend, tape it where it will live, and scan from where a customer would stand.

Resolution and file format

For print, work at 300 dpi at final size. A 3 cm code needs an image around 350 pixels across. Stretching a 200-pixel PNG to fill a poster gives soft, blurred module edges and a scanner that hesitates.

Better still, use a vector file. SVG and PDF describe the code as shapes rather than pixels, so it stays crisp at any size and your printer can scale it without asking you for a bigger file. Codeshed exports PNG, SVG and PDF, and for anything going to a professional printer the vector versions are worth using as a matter of course. More on this in getting codes to print properly.

Contrast, and why inverted codes fail

Scanners look for dark modules on a light background. That is the convention they are built around. A light code on a dark background — white on navy, say — is read by some apps and quietly ignored by others, including some built-in phone cameras. It looks smart in a brochure and loses you scans.

Stick to dark on light. If you want colour, make the modules a dark, saturated colour and the background near-white, and keep the difference strong. Pale grey on white, or mid-red on mid-green, will not work no matter how big you print it.

Curves, textures and awkward surfaces

A code wrapped round a bottle or a tin distorts. The fix is to keep it narrow relative to the curve, so it sits on the flattest part, and to print it larger than the rule of thumb suggests. On a bottle, a code much more than about a third of the visible face becomes hard work.

Fabric, textured card and corrugated board all break up module edges. Go bigger, keep the data short, and use a lower-density code. Shiny laminate adds another problem: reflections wash out the pattern under shop lighting. A matt finish scans better.

Test before you print the run

Always test with more than one phone — an iPhone and an Android, one newer and one a few years old — in the actual lighting, from the nearest and furthest realistic distance, and at an angle. If any of those fails, go up a size. A print run you cannot redo is a bad place to discover that 2 cm was not quite enough.

Read next

Make a code in the workshop →

Codeshed is a trading name of Third Coffee Studio Ltd, registered in England and Wales, company number 17517422.