QR code size for printing
Print a QR code at least 2 cm (0.8 in) wide for anything read at arm's length, and about one tenth of the scanning distance for anything further away, so 10 cm for a poster read from 1 metre. Longer links and logos need more room, because they make denser codes with smaller squares.
Updated
Size by scanning distance
These sizes assume a short to medium link, good contrast and normal lighting. Add 20% or more for long links, logos or dim places.
| Where it goes | Typical scan distance | Minimum code width |
|---|---|---|
| Business card, label, product box | 15 to 30 cm (6 to 12 in) | 2 to 2.5 cm (0.8 to 1 in) |
| Flyer, menu, table card | 30 to 50 cm (1 to 1.5 ft) | 3 to 5 cm (1.2 to 2 in) |
| Brochure stand, counter sign | 1 m (3 ft) | 10 cm (4 in) |
| Wall poster | 2 m (6.5 ft) | 20 cm (8 in) |
| Shop window, event banner | 3 to 5 m (10 to 16 ft) | 30 to 50 cm (12 to 20 in) |
| Billboard, building wrap | 10 m (33 ft) or more | 1 m (3.3 ft) or more |
The width here is the whole code including its white border.
Why the amount of data matters
A QR code is a grid of squares called modules. The more you put in it, the more modules it needs, and the smaller each one gets at the same print width. Phones read modules, not centimetres, so the module size is what really decides whether a code scans.
These counts come straight from our generator at the default Medium error correction:
| What the code holds | Characters | Modules across |
|---|---|---|
Short link, like https://example.com |
19 | 25 |
| Medium link with a path | 31 | 29 |
| WiFi network and password | 56 | 33 |
| Long link with tracking tags | 96 | 41 |
| Contact card with name, phone, email, company, website | 177 | 53 |
The full printed width is the module count plus 8 (4 modules of white border on each side), times the size of one module:
printed width = (modules + 8) × module size
For close-range scanning, aim for modules of at least 0.5 mm. A short link (25 + 8 = 33 modules) then needs about 1.7 cm, so the 2 cm minimum covers it. The contact card (53 + 8 = 61 modules) needs about 3 cm. That is why big contact cards and long tracking links deserve bigger prints.
Adding a logo switches error correction to High, which adds modules too: the short link goes from 25 to 29 across, and the contact card from 53 to 69.
How to make a code print smaller
- Shorten the link. Remove tracking tags you do not need, or link to a short page on your own domain like
yoursite.com/menu. - Trim the contact card. Name, phone and email are usually enough. Add a website instead of a street address.
- Skip the logo on very small prints. A plain code at Medium error correction has the fewest modules.
- Print sharper. Use SVG and a printer that renders crisp edges. Fuzzy edges effectively shrink the modules.
File formats and resolution
Download SVG for anything printed (the SVG QR code page has more print tips). It is a vector file, so a code that is 2 cm on a card and 2 metres on a banner come from the same file with perfectly sharp edges. Most design tools, including the common online ones, accept SVG.
If a print shop insists on a raster image, use PNG, never a compressed JPG. A 4096 pixel PNG printed 30 cm wide is still about 350 dpi. Do not scale a small PNG up; generate a bigger one instead.
Check before you print the whole run
- Print one copy at final size on the final paper or material.
- Scan it from the real distance with an iPhone and an Android phone.
- Try it in the real light: a dim restaurant, a sunny window, a dark hallway.
- If it struggles, go bigger, shorten the link, or increase the contrast.
If a printed code will not scan, the QR code not scanning guide lists every common cause. Codes made here are static, so once a size works it keeps working: there is no subscription that can switch it off later. More on that in do QR codes expire?