HomeLearnWhat size should a QR code be to print?
Printing

What size should a QR code be to print?

Minimum width is roughly scan distance divided by ten — everything else is what pushes that number up.

6 min read · Updated July 2026

The 10:1 rule

Minimum printed width is about the maximum scan distance divided by ten. A code read from 1 m needs to be at least 10 cm wide. A code read from 30 cm needs about 3 cm. That ratio is roughly how much of the camera frame the code has to fill before a phone can resolve the individual squares, called modules.

Work it from the far end. Decide the furthest point at which someone will realistically stand or sit, convert both numbers to the same unit, divide by ten, then round up. Rounding up is free; a reprint is not.

The rule assumes a modern phone camera, decent light, a flat surface and a code carrying a moderate amount of data. Break any of those — a dim bar, a gloss laminate, a 140-character URL, a curved bottle — and add 20 to 50 percent on top.

Minimum width = scan distance ÷ 10. Then add margin for low light, glare, curves and dense data. Nobody has ever complained that a QR code was too big.

Minimum sizes by surface

These are working minimums, not targets. Each assumes a dark code on a light background, a short URL, and a full quiet zone. When you are between two sizes, take the larger one.

Surface / useTypical scan distanceMinimum widthComfortable width
Business card10–15 cm (4–6 in)1.5 cm (0.6 in)2 cm (0.8 in)
Product label, small packaging20–30 cm (8–12 in)2 cm (0.8 in)2.5–3 cm (1–1.2 in)
Flyer, A5 leaflet, receipt25–40 cm (10–16 in)2.5 cm (1 in)3 cm (1.2 in)
Menu or table tent30–50 cm (12–20 in)3 cm (1.2 in)4 cm (1.6 in)
A4 / A3 poster at arm's length50–80 cm (20–32 in)5 cm (2 in)7 cm (2.8 in)
Wall poster, corridor or lift sign1.5–2 m (5–6.5 ft)15 cm (6 in)20 cm (8 in)
Window decal read from the pavement1.5–3 m (5–10 ft)20 cm (8 in)30 cm (12 in)
Trade-show banner2–3 m (6.5–10 ft)25 cm (10 in)35 cm (14 in)
Vehicle livery, parked4–5 m (13–16 ft)40 cm (16 in)60 cm (24 in)
Billboard20–50 m (65–165 ft)2–5 m (6.5–16 ft)As large as the layout allows

Denser codes need more size, not less

More data means more modules, and more modules at the same physical width means every module gets smaller. A QR code is a fixed grid: version 1 is 21×21 modules, and each version up adds four modules per side, all the way to 177×177 at version 40.

A 25-character short link at error correction M lands around version 2, a 25×25 grid. Push the same code to a 120-character URL with tracking parameters and you are near version 7, a 45×45 grid. Printed at the same 2 cm, each module shrinks from 0.8 mm to about 0.44 mm — and 0.4 mm is roughly where everyday printing and phone cameras start to give up.

Error correction does the same thing from the other direction. Levels L, M, Q and H recover roughly 7, 15, 25 and 30 percent of a damaged code, but that redundancy is stored as extra modules. Moving a fixed payload from L to H can add several versions to the grid.

  • Shorten the URL before you shrink the code. Fewer characters is the cheapest way to get a coarser, more forgiving grid.
  • Use ECC H only when you need it: a center logo, a surface that gets scuffed, a laminate that reflects.
  • Keep printed modules at 0.5 mm or larger for offset and digital printing, and 0.8–1 mm for flexo, thermal labels and corrugated board.
  • Export SVG for anything going to print. Vector edges stay clean at any size, while an upscaled PNG turns crisp module edges into grey mush.

The quiet zone: four modules of nothing

The quiet zone is the blank margin around the code, and the specification is four modules on every side. It is not styling — it is how a scanner finds the edge of the grid. Cropping it is the single most common cause of a printed code that will not scan.

Because it is measured in modules, it scales with the code. On a 2 cm code built from a 25×25 grid, each module is 0.8 mm and the quiet zone is 3.2 mm on each side. On a 20 cm poster code, the same rule gives you several centimetres of empty space.

The margin has to be the same flat, light color as the code background: no text, no logo, no photograph bleeding in, no border rule running along the edge. Designers usually lose it in one of two ways — trimming the exported image tight to the pattern, or butting the code up against a colored panel in the layout.

Curved and flexible surfaces

Curves distort the grid, and scanners tolerate less distortion than most people expect. On bottles, cans, tubes and pouches, size up by 20 to 30 percent and keep the code off the tightest part of the curve.

  • Keep the code width under about a third of the circumference. A 65 mm bottle is roughly 200 mm around, so stay at or below 65 mm wide.
  • On shrink sleeves, place the code where the film distorts least — flat mid-panel, never over a shoulder or a taper.
  • On flexible pouches and soft-touch film, allow for creasing. Larger modules survive a fold that fine ones do not.
  • Keep seams, glue lines and label edges out of the pattern and out of the quiet zone.

Matte beats gloss

Use a matte or satin laminate. Gloss creates a specular hotspot: overhead light bounces off the varnish straight into the lens, and the camera sees a blown-out white patch where modules should be.

This is why laminated menus and glossy table tents fail under downlights while the identical artwork scans fine on plain paper. If the finish is already decided and it is gloss, compensate with extra size, error correction Q or H, and placement that keeps the reflection angle away from where people hold their phone.

Metallic inks, spot varnish over the pattern and foil all cause the same problem. So does uncoated kraft, fabric and corrugated board, where ink spreads and thickens the modules. Ask the printer for their smallest reliable feature size on that stock — they will know it, and it is usually larger than you assumed.

Test a real printed sample

Print one before you print ten thousand. A proof at final size, on the final stock, with the final finish, tested in the room where it will actually live, catches problems that no on-screen check will.

  • Scan with at least three phones, including one older Android handset and one iPhone.
  • Test in the real lighting: the dim restaurant, the sunlit window, the strip-lit warehouse aisle.
  • Test from the furthest realistic distance, not from 20 cm away with your nose on it.
  • Test it smudged, folded or thumbprinted — that is what the code looks like a week into its life.
  • Try one in-app scanner from a banking or social app. Those are stricter than the native camera.

Static codes cannot be edited after download, so a print run with a code that scans badly is a reprint. Ten minutes with a paper proof is the cheapest insurance on the job.

Make one now

Free, no sign-up, and your code never expires.

OPEN THE GENERATOR →
Related QR types

What size should a QR code be to print? FAQ

What is the smallest a QR code can be?
About 1.5 cm (0.6 in) for a short link held at reading distance on smooth stock, and 2 cm (0.8 in) is a safer floor. Below that the modules fall under 0.4 mm and printing tolerance, ink spread and camera resolution all start working against you.
How big should a QR code be on a poster?
Divide the viewing distance by ten. A poster read from 2 m needs at least 20 cm; one read from 5 m needs 50 cm. Measure where people can actually stand, not where the poster hangs.
Does adding a logo change the size I need?
Yes. A center logo requires error correction Q or H, which adds modules, so the same data needs a physically larger code to keep the module size safe. Size up by roughly 20 percent and test the printed result.
Should I export PNG or SVG for printing?
SVG. It is vector, so it stays sharp at any size and drops straight into print artwork. PNG is fine for screens, email and slides, where the code is never scaled beyond its exported resolution.
Can I resize the code after it is printed wrong?
No — you reprint. The code is static, so the destination and the artwork are fixed once it leaves the generator. Regenerating and exporting a fresh SVG is free, which is why a proof before the run is worth the delay.

Got your code? ☕ Buy me a coffee — it keeps this tool free for everyone.