How to Find the Right QR Code Size
Set the scanning distance
Think about where people will stand: holding a label in their hand, reading a shelf or walking past a poster.
Describe the content
Paste your link to count it, or type its length, and choose your generator's error correction level.
Print at least that size
Use the minimum size or larger, keep the quiet zone clear, and test a printed sample with a few phones.
How Big Should a QR Code Be?
A common rule of thumb is that a QR code should be at least one tenth of the scanning distance wide: about 1.2 in (3 cm) for a code read from 12 in (30 cm) away. It isn't part of the QR standard, but QR providers widely use it as a starting point.
The rule works for simple codes. Codes that hold more data have more, smaller modules (the black and white squares), so they need to be bigger. This calculator uses the refinement published by QRStuff, which scales the size by the number of modules and lowers the distance factor for difficult conditions:
Size = (scanning distance ÷ distance factor) × (modules ÷ 25)
Distance factor = 10, minus 1 each for dim light, low contrast and angled scans
Modules per side = 17 + 4 × version
| Scanning distance | 25 × 25 modules | 33 × 33 modules | 41 × 41 modules |
|---|---|---|---|
| 6 in (15 cm) | 0.6 in (1.5 cm) | 0.79 in (2.0 cm) | 0.98 in (2.5 cm) |
| 12 in (30 cm) | 1.2 in (3.0 cm) | 1.58 in (4.0 cm) | 1.97 in (5.0 cm) |
| 3 ft (91 cm) | 3.6 in (9.1 cm) | 4.75 in (12.1 cm) | 5.9 in (15.0 cm) |
| 10 ft (3 m) | 12 in (30.5 cm) | 15.84 in (40.2 cm) | 19.68 in (50.0 cm) |
These are minimums. If there's room, print bigger, and always test a printed sample at the real distance before printing in bulk.
Why Shorter Links Make Smaller QR Codes
The QR standard (ISO/IEC 18004) defines 40 versions, from 21 × 21 to 177 × 177 modules. Each version holds a fixed maximum amount of data for each error correction level, and a generator uses the smallest version that fits. A shorter link means a smaller version, larger modules and a code that scans from further away at the same size.
| Version | Modules | L | M | Q | H |
|---|---|---|---|---|---|
| 1 | 21 × 21 | 17 | 14 | 11 | 7 |
| 2 | 25 × 25 | 32 | 26 | 20 | 14 |
| 3 | 29 × 29 | 53 | 42 | 32 | 24 |
| 4 | 33 × 33 | 78 | 62 | 46 | 34 |
| 5 | 37 × 37 | 106 | 84 | 60 | 44 |
| 6 | 41 × 41 | 134 | 106 | 74 | 58 |
| 8 | 49 × 49 | 192 | 152 | 108 | 84 |
| 10 | 57 × 57 | 271 | 213 | 151 | 119 |
Letters with accents and other non-English characters take two or more bytes each in UTF-8, the encoding most generators use, and the counter includes them. Content made only of digits, or only of uppercase letters, digits and a few symbols, fits more characters per version. Some generators split content into several modes or pick a larger version than needed, so if you already have the code, count its modules and choose that version.
The Quiet Zone
A QR code needs a blank margin around it, called the quiet zone, so the scanner can find its edges. The QR standard asks for a quiet zone four modules wide on every side. The calculator adds it for you: the size with the quiet zone is the space to keep free of text, images and edges on your label.
The quiet zone should be the same light colour as the code's background. If the code sits on a coloured label, a white or light box behind the code and its quiet zone keeps the contrast high.
Printing QR Codes on Labels
- Use dark modules on a light background with strong contrast.
- Export the code as a vector file (SVG, PDF or EPS) when your generator allows it, so the modules print with sharp edges at any size.
- Check the module size against your printer: the result shows how many printer dots each module gets at your printer's resolution.
- Codes with a logo in the centre rely on error correction to rebuild the hidden modules, so they usually use level Q or H.
- On curved containers, keep the code small compared with the container's diameter, or place it where the surface is flattest.
Need a barcode as well? The Barcode Size Calculator works out EAN and UPC sizes and quiet zones. To check that an image of your code has enough pixels, use the Label DPI Calculator.