How big should a QR code be?
A QR code that doesn't scan is almost always too small, too close to something, or too low in contrast. Here is how to get all three right.
Work out the size
Enter how far away people will be when they scan, and this gives you the printed size the code needs to be.
Minimum
30.0 cm
11.8 in square
Recommended
37.5 cm
1.23 ft square
Minimum is the 10:1 rule — a tenth of the scanning distance. Recommended adds margin for dense content, logos, imperfect printing and bad lighting. Both are the size of the code itself; the quiet zone goes outside them.
The 10:1 rule
The planning rule used across the printing industry is that a QR code should be at least one tenth as wide as the distance it is scanned from. Scanning from two meters means a code at least 20 cm across. It is a rule of thumb rather than physics — the real limit depends on how many modules the code has, the camera, the lighting and the print quality — but it is a dependable planning figure, and erring upward costs nothing but ink.
| Where it goes | Typical distance | Minimum size | Recommended |
|---|---|---|---|
| Business card | 20 cm / 8 in | 2 cm / 0.8 in | 2.5 cm / 1 in |
| Product label or packaging | 30 cm / 12 in | 3 cm / 1.2 in | 4 cm / 1.6 in |
| Menu or flyer | 40 cm / 16 in | 4 cm / 1.6 in | 5 cm / 2 in |
| Table tent or counter card | 60 cm / 2 ft | 6 cm / 2.4 in | 7.5 cm / 3 in |
| Wall poster | 2 m / 6.5 ft | 20 cm / 8 in | 25 cm / 10 in |
| Shop window | 3 m / 10 ft | 30 cm / 12 in | 38 cm / 15 in |
| Yard or estate agent sign | 5 m / 16 ft | 50 cm / 20 in | 63 cm / 25 in |
| Billboard | 20 m / 65 ft | 2 m / 6.5 ft | 2.5 m / 8 ft |
Two adjustments worth making. If people will be moving past — a code on a bus shelter, a passing vehicle, an escalator — go a size up, because the camera has less time to focus. And if the code has a logo, dense content or unusual module shapes, go up as well: those spend the redundancy that would otherwise absorb a marginal scan.
The quiet zone
The blank margin around a code is not whitespace for looks — it is part of the specification. Scanners use it to find where the code starts and stops. Without it, a code butted up against text or a photo edge often will not be detected at all, no matter how large it is.
The requirement is four modules wide on all four sides. A module is one of the small squares, so on a code with 33 modules across, the margin is about 12% of the code’s width on each side. Every download from this site includes it by default. If you have cropped a code tight to its edges in a layout, that is very likely why it stopped scanning.
Contrast
Scanners look for dark modules on a light background. Three rules cover almost everything:
- Dark on light, not the reverse. Inverted codes are valid in the specification and a meaningful share of scanning apps still fail on them. The tools here warn you when you invert.
- Keep real contrast. Aim for a ratio of at least 4:1 between the two colors. Pastel-on-white looks elegant on a screen and disappears under warm restaurant lighting.
- Avoid red as the dark color. Some older laser scanners read in a red wavelength and simply cannot see it. Less of an issue for phone cameras, but it costs nothing to avoid.
Never print a code over a photograph or a gradient. If it must sit on busy artwork, put it on a solid panel with its quiet zone intact.
Printing
- Use the SVG. It is vector, so there is no resolution to get wrong and it stays sharp at any size. This matters most for large-format work, where an upscaled PNG turns crisp module edges into soft gray.
- If you must use a raster, 300 DPI at final size. Not 300 DPI at the size you happened to export — at the size it will actually print.
- Watch for ink spread on absorbent stock. On uncoated paper, cardboard and fabric, ink bleeds and thin light gaps close up. Print larger than the calculator suggests for those materials.
- Avoid gloss and lamination where you can. Specular glare across a code defeats a camera completely. Matte finishes scan far more reliably.
Test the real thing
Print a proof at final size, on the actual material, and scan it in the place it will live — with a couple of different phones, at the distance people will really stand, under the lighting that will really be there. This catches ink spread, glare and simple sizing mistakes before you commit to a print run, and it takes a few minutes.
If you are customizing colors or adding a logo, the logo generator decodes the finished image and tells you whether it still reads before you download it. That catches the digital half of the problem; only a printed proof catches the rest.
Common questions
What is the minimum size for a QR code?
About 2 cm (0.8 in) square is the practical floor for a code held in the hand at around 20 cm. Below that, the individual modules approach the resolving limit of a phone camera at close focus. For anything scanned from further away, use the 10:1 rule: the code should be at least a tenth as wide as the scanning distance.
Why won't my QR code scan?
In rough order of frequency: it is too small for the distance, it has no quiet zone, the contrast is too low or inverted, the print resolution smeared the modules together, or the content is so long that the module grid is finer than the camera can resolve. Size and quiet zone account for most real-world failures.
What resolution should I export for print?
Use the SVG. It is a vector, so it stays perfectly sharp at any size and there is no resolution to get wrong. If a raster file is required, export a PNG at 300 DPI for the final printed dimensions — 1024 px covers a code up to about 8 cm, and 2048 px covers a poster.
Related tools and guides
- Free QR code generatorCreate QR codes for links, Wi-Fi, contacts, email, SMS and plain text. Built in your browser, free to use, and they never expire.
- Wi-Fi QR code generatorMake a QR code that connects phones to your Wi-Fi in one tap. Supports WPA2/WPA3, hidden networks and awkward characters in passwords.
- QR code generator with a logoAdd your logo to a QR code and see proof it still scans. We decode the finished image before enabling the download, so you never print a dead code.