The most important measure: module width
For a QR code, the absolute size isn't decisive — it's the module width, the edge length of a single black or white square. The minimum module width determines whether the code is scannable from a given distance.
| Application | Min. module width | Typical code size* | |---|---|---| | Industrial scanner (warehouse, logistics) | 0.25 mm | 8 × 8 mm | | Smartphone scan, hand distance | 0.4 mm | 15 × 15 mm | | Poster, 1–2 m distance | 1.0 mm | 35 × 35 mm | | Vehicle lettering, 3–5 m distance | 1.5 mm | 60 × 60 mm | | Construction sign, 5–10 m distance | 3.0 mm | 100 × 100 mm | | Billboard, 10–20 m distance | 6.0 mm | 250 × 250 mm |
*based on a typical code with 33 modules per side (version 4)
Rule of thumb for scan distance
The maximum scan distance is about 10× the module width. At 0.4 mm module width: ~4 cm. At 3 mm: ~30 cm. For a 100×100 mm code with 3 mm modules, you realistically get about 30 cm scan distance — which is why a construction sign at 10 m distance needs bigger modules.
How many modules does a QR code have?
The module count per side depends on data amount and chosen version:
| Version | Modules per side | Typical content | |---|---|---| | 1 | 21 × 21 | Very short text, ~17 chars | | 2 | 25 × 25 | Short URLs | | 3 | 29 × 29 | Mid URLs, short vCard | | 4 | 33 × 33 | Mid URLs with UTM, short vCard | | 5 | 37 × 37 | Long URLs | | 10 | 57 × 57 | Long vCard with photo URL | | 40 | 177 × 177 | Maximum: ~4,000 chars |
Rule of thumb for dynamic QR codes: the embedded redirect URL is very short (e.g. qrt.ch/abc), so version 2–4 (25×25 to 33×33 modules) is usually enough. That gives a more compact, easier-to-scan code matrix than long original URLs.
The quiet zone — the white border
Around every QR code there must be a white border of at least 4 module widths. Without this "quiet zone", scanners struggle to separate the code reliably from the background.
Practically:
- At 0.4 mm module width: 1.6 mm border
- At 1.0 mm module width: 4 mm border
- At 3.0 mm module width: 12 mm border
Recommendation: always plan 2 module widths of safety buffer, so 6 modules instead of 4. At 1.5 mm module that means 9 mm border — generous but practical.
Print techniques compared
Offset printing (posters, flyers)
- Resolution: 300 dpi ≈ 0.08 mm per pixel
- Suitable from: module width 0.5 mm (good reserves)
- Recommended: SVG or vector-based PDF export, not rasterized PNG
Digital printing (business cards, marketing flyers)
- Resolution: 600 dpi → ~0.04 mm per pixel
- Suitable from: module width 0.3 mm
- Note: on thin paper ink can bleed — module width at least 0.5 mm
Inkjet (packaging, labels)
- Resolution: 600–1200 dpi, depending on material
- Suitable from: module width 0.3 mm
- Note: on porous surface (natural paper) ink spreads — module width +20%
Laser engraving (wood, metal, glass)
- Resolution: depends on laser, typically 0.1 mm
- Suitable from: module width 0.5 mm
- Note: contrast often low — choose error correction H
Stamping (cardboard, wood)
- Suitable from: module width 1.5 mm
- Note: with higher pressure, modules widen — better choose level Q
Embroidery (textiles)
- Suitable from: module width 2.5 mm
- Note: fabric texture reduces effective resolution — level H mandatory
Color choice and contrast
A QR code doesn't have to be black on white, but:
- Foreground darker than background — always reliable
- Color contrast ≥ 50% in luminance
- Light modules on dark background (inversion) — works on newer scanners, but not all industrial ones
Avoid:
- Gradients across the whole code
- Complementary colors (red/green) without contrast
- Glossy or reflective surfaces
- Transparent modules on unclear background
Practical examples
Business card (85 × 55 mm)
- Code size: 15 × 15 mm (version 2-3, ~0.55 mm module width)
- Quiet zone: 2 mm
- Error correction: M (15%) without logo, Q (25%) with logo
A6 flyer (105 × 148 mm)
- Code size: 20 × 20 mm (version 3-4, ~0.65 mm module width)
- Quiet zone: 3 mm
- Optional: logo (max. 20% area, level Q)
A4 poster (210 × 297 mm)
- Code size: 40 × 40 mm (version 4, ~1.2 mm module width)
- Quiet zone: 5 mm
- Scan distance: up to ~1.2 m
- Error correction: M without logo, Q with logo
Vehicle lettering (van side)
- Code size: 200 × 200 mm
- Module width: 6 mm (version 4)
- Quiet zone: 25 mm
- Error correction: H (30%) due to UV and dirt
- Foil: matte UV-resistant, black-white
Construction sign (1000 × 1500 mm)
- Code size: 250 × 250 mm
- Module width: 7.5 mm
- Quiet zone: 30 mm
- Scan distance: 7–8 m realistic
Common printing mistakes
- Code too small for the distance — the most common mistake. Whoever prints poster codes with business card dimensions ends up disappointed.
- Quiet zone forgotten — code too close to the print edge, scanner fails
- PNG instead of vector — at small sizes, sharpness is lost
- Multi-pass printing with gradients — modules smear
- Logo too big — over 20% area → error correction no longer enough
- Glossy lamination over reflective surface — scanner fails in glare
Frequently asked questions
Does a QR code work on curved surfaces (e.g. cups)?
Only to a limited extent. Curvature distorts the matrix. For cups (curvature < 5%): yes, with error correction H. For strongly curved surfaces (e.g. bottles), better print on a flat label.
What's the smallest possible QR code size?
Theoretically ~8 × 8 mm (industrial scanners). For smartphone scans, realistically 15 × 15 mm. Below that it gets unreliable.
How many materials can I print with the same dynamic code?
Unlimited. A QR code matrix can be printed as often as you want. The backend provider counts only scans, not print quantity.
What format should the QR code provider deliver?
For print, always vector formats (SVG, EPS, or vector-based PDF). Vectors stay sharp at any size. PNG only for digital use (web, app).
What minimum DPI for PNG export?
At 0.4 mm module width: at least 300 DPI. At 1.0 mm: 150 DPI is enough. Generally: choose DPI at least double the typical printer resolution.
Verdict
The most common QR code mistake is the wrong module width for the planned scan distance. Applying the rule "max scan distance = 10× module width" and always printing in vector format avoids most problems. For ad materials at medium distances (posters, vehicles), better print a bit too large than too small — the print cost difference is minimal, the conversion difference large.
Ready for your first dynamic QR code?
Start free — 3 QR codes on the Free Forever plan, no credit card.
Start free