How big should a QR code be when printed?
A rule from measurements rather than folklore: the size a phone needs depends on how many squares the code has, what each square measures on paper, and how far away the phone is.
Updated 6 November 2026
The short answer
For a plain QR code read from arm's length, phones decode down to about 0.4 mm per square. A code with a picture in it needs about 0.6 mm per square, because the picture takes away contrast that a plain code would spend on redundancy. Multiply by the number of squares across, including the white margin, and you have the minimum printed width. From further away, the rule of thumb that matched our tests is one tenth of the distance: a code read from a metre should be 10 cm across.
Those two figures, 0.4 and 0.6 mm, come from our own tests in September 2026 with an iPhone and an Android phone on printed sheets, scanning at arm's length under room light. They are what PaintQR uses when it states the minimum size under every design.
Why the number of squares matters
A QR code's size in squares is set by its version: version 1 is 21 squares across, and each version adds four, so version 10 is 57 squares and version 20 is 97. The version is chosen by how much the code has to hold: a short web address fits in version 2 or 3, a contact card with a name, phone, email and company needs version 10 to 15, and a picture pushes the version up because the squares that draw the picture cannot also carry data. Around the code sits a quiet zone of four blank squares on every side, which the camera needs to find the edges; it counts towards the printed width.
So two codes printed at the same size can scan very differently: a 25-square code gives each square twice the paper of a 57-square code. That is why 'print it at 2 cm' is meaningless without knowing what is in it.
| Detail level | Version | Squares across, with margin | Plain code, minimum | Picture code, minimum |
|---|---|---|---|---|
| Low | 6 | 49 | 2.0 cm | 3.0 cm |
| Medium | 10 | 65 | 2.5 cm | 4.0 cm |
| High | 15 | 85 | 3.5 cm | 5.0 cm |
| Max | 20 | 105 | 4.0 cm | 8.5 cm (estimate; see below) |
Pictures change the arithmetic
A plain code has a lot of spare contrast: every square is either black or white, and the error correction can lose up to 30 % of them and still read. A picture code, where the squares are arranged to draw a logo or a photo, spends part of that margin on the drawing. The code still decodes on a phone, but a smaller print leaves the camera less to work with, so it needs 1.5 times the paper per square: 0.6 mm instead of 0.4.
For dense codes, version 20 and above, we measured that 0.5 mm per square fails and have set 0.8 mm, a margin above that, until a print test replaces the estimate. The table says which figures are measured and which are not.
Distance
At arm's length the squares are what limit a scan. From further away the camera's resolution does: the code has to cover enough of the picture the phone sees. The rule that matched our tests is a width of one tenth of the scanning distance, a little more for older phones. A table tent read from 30 cm wants at least 3 cm, a window sign read from a metre wants 10 cm, a signboard read from the footpath two metres away wants 20 cm. Take the larger of the two rules: the squares' minimum or the distance's.
Paper, ink and placement
Matte beats gloss: glossy laminates and coated cards reflect ceiling lights and the sky into the camera, and a reflection across the finder pattern stops the scan. Dark squares on a light ground: cameras expect it, and most phones will not read a light code on a dark background. Keep the margin the file includes. Do not stretch the code to fit a layout; scale it, or use the SVG or the PDF, which stay sharp at any size. On curved surfaces keep the code on the flattest part and under a quarter of a bottle's circumference. Textured and cotton papers soften the squares' edges; go one size up on those.
- Print one copy at the intended size and scan it with two different phones before the run.
- Check the ruler mark on a test print: a sheet printed with 'fit to page' is smaller than designed.
- Leave the white margin alone; it is part of the code, not decoration.
How PaintQR states the size
Under every design, PaintQR shows 'Print at X cm or larger'. X is the code's squares, including the margin, multiplied by 0.6 mm for picture codes and 0.4 mm for plain ones, rounded up to the next half centimetre. The PDF download is produced at that size, so printing it at 100 % gives a code of the stated width. Pick a higher detail level and the code grows; pick Max and the stated size reflects the estimate above.
Questions
What is the smallest QR code that still scans?
A plain code with a short link at about 2 cm across, including the margin, at 0.4 mm per square. A picture code at about 3 cm. Smaller prints scan on some phones and fail on others.
Does error correction let me print smaller?
No. Error correction recovers damaged or covered squares; it does not help a camera that cannot resolve the squares in the first place. Size is about resolution, error correction is about damage.
How far away can a QR code be scanned?
About ten times its width with a current phone: a 10 cm code from a metre, a 50 cm code from five metres. Older phones and dim light reduce that.
Does the colour of the code matter?
The dark squares must be dark and the ground light. Navy, dark green or brown squares on white scan; yellow or light grey squares do not, and a dark background with light squares fails on most phones.