Skip to content
Generate Online

How-to

How big should a printed QR code be?

Sizing a code is one ratio and three constraints. This guide gives the distance rule, the minimum sizes that survive real printing, and the reason a code that looks fine in the design file fails on the press.

Updated

Sizing a printed code is not a matter of taste. There is one ratio that decides it, and three constraints that override the ratio when the material or the payload gets awkward. Get those four things right and the code works; ignore them and you find out after the run has been delivered.

The distance ratio

A code scans reliably from roughly ten times its own width. That is the number to plan with. It comes from how many pixels a phone camera puts across each module at a given distance, combined with the amount of blur a decoder tolerates before it can no longer decide whether a module is dark or light.

Work backwards from where the reader will stand:

  • Held in the hand, 20–30 cm away — 2.5 to 3 cm code
  • Table tent or menu, read while seated, 40 cm — 4 cm code
  • Poster at eye level in a corridor, 1.5 m — 15 cm code
  • Shop window read from the pavement, 2.5 m — 25 cm code
  • Wall graphic across a room, 5 m — 50 cm code

Then halve the distance you designed for and check it still works. People do not stand where the plan says they will, and the ratio assumes conditions that a railway platform in February does not provide.

Constraint one: payload length changes the answer

The ratio is about the width of one module, not the width of the code. A denser grid puts more modules into the same square, so each one is smaller and the code must be physically larger to compensate.

A 30-character link might encode into a 29-module grid. A 300-character vCard can reach 73 modules. At the same 3 cm printed size, the first has modules just over a millimetre wide and the second has modules under half a millimetre — which is below what most phone cameras resolve at close focus. Same size on the page, completely different outcomes.

This is why shortening the payload is the highest-leverage thing you can do before printing. Strip campaign parameters from URLs. Drop the postal address from a contact card that already carries a website. Point at a hosted file rather than encoding its contents. Every character you remove buys module width back.

Error correction pushes in the same direction, since higher levels consume capacity and force the grid up a version. Choosing the level is worth doing before you size the code rather than after.

Constraint two: the quiet zone is part of the code

The specification requires four modules of clear space on every side. Not four millimetres — four modules, so the requirement scales with the code. On a 29-module code printed at 3 cm, that margin is about 4 mm on each side.

Designers lose this margin constantly, and almost always in the same three ways: the code is set flush against a coloured panel, it is placed too close to a trim edge and the margin is cut off, or body text is allowed to run right up to it to save space. All three produce a code that scans in the design file and fails on the sheet.

Treat the quiet zone as part of the artwork. Place the code inside a white box that already includes it, and lock that box.

Constraint three: the material fights you

Coated stock holds module edges crisply. Uncoated stock, newsprint and unbleached card all absorb ink, which spreads dark modules outward and narrows the light gaps. On absorbent material, add twenty to thirty percent to whatever size the ratio gave you.

Non-flat surfaces are worse. A code wrapped around a bottle compresses along the curve, so the decoder sees a grid that is no longer square; keeping the code under about a third of the circumference limits the distortion. Fabric introduces weave texture that breaks module edges at small sizes. Laser marking on metal gives inconsistent contrast depending on viewing angle. Each of these is a reason to go larger and to raise error correction, and each is a reason to test on the real substrate rather than on paper.

The file you send

Send vector. An SVG has no resolution, cannot be scaled wrong, and prints with mathematically exact module edges at any size. Most printers accept it directly or will place it into a PDF without rasterising.

When the workflow demands a raster file, calculate the pixels from the final printed size at 300 dpi rather than exporting whatever the tool offers. Multiply centimetres by 118 to get the pixel count. And export at that size — resampling a small file upward in a layout application softens exactly the edges the decoder relies on. The format trade-offs go into where each one belongs.

Proof before the run

Print one sheet on the real stock at the real size. Scan it with a cheap phone rather than yours, from the distance a reader will stand, under the light the code will live in — the fluorescent tube in a corridor, not the daylight by your desk. Do it five times. Five clean scans out of five is a pass. Anything that needs a second attempt is already marginal, and marginal codes degrade as ink fades and surfaces scuff.

If it fails, work through the causes in order of likelihood: quiet zone, physical size, payload length, contrast, error correction level. That ordering reflects how often each one is actually to blame, and it will resolve most failures before you reach the end of the list.

Common questions

What is the smallest QR code that still scans?

About 2 cm square is the practical floor for a short payload printed cleanly on coated paper and scanned from roughly 20 cm away. Below that, module width falls under the resolution a phone camera can separate at close focus, and codes that decode on a lab bench start failing in a customer's hand. Business cards routinely push this limit, which is why a card code should carry a short link rather than a full contact record.

What resolution should I export at for print?

Export vector SVG whenever the printer accepts it, because a vector code has no resolution and cannot be sampled wrong. When a raster file is required, work back from the final printed size at 300 dpi: a 3 cm code needs roughly 355 pixels, a 10 cm code needs about 1,180. Never scale a small PNG up in a layout tool. The interpolation softens the module edges, and soft edges are exactly what a decoder cannot threshold cleanly.

How far away can people scan a QR code?

The working ratio is about ten to one: a code scans reliably from around ten times its own width. A 5 cm code works at half a metre, a 30 cm code at three metres. Treat that as an optimistic ceiling rather than a target, because it assumes good light, a clean surface and someone holding still. Sizing for half the maximum distance costs almost nothing and removes most complaints.

Does the colour of a QR code affect how it prints?

Contrast matters more than colour. The dark modules need to be substantially darker than the light ones under the light the code will live in, and infrared-transparent inks are a genuine failure mode on some presses. Inverting the code so light modules are dark breaks many older scanners even though modern phones handle it. If you must tint, keep the dark modules dark, leave the background white, and test the actual printed proof rather than the screen preview.

Why does my code scan on screen but not on the printed sheet?

Almost always ink spread or a lost quiet zone. Ink bleeds slightly into uncoated stock, which thickens dark modules and narrows the light gaps between them until the decoder can no longer separate the two. Meanwhile a layout that looked spacious on screen often crops the required four-module margin once the sheet is trimmed. Ask for a printed proof on the real stock, and scan that, before committing to a run.

Generators covered here

Keep reading