QR Code Size Guide — Minimum Size for Scanning
The Short Answer
The minimum QR code size for reliable scanning is 2cm × 2cm (0.8 × 0.8 inches) at close range (within 25cm / 10 inches). For every additional 25cm of scanning distance, add approximately 1cm to each side.
But the real answer depends on three factors: how much data you encode, how far away the scanner will be, and what resolution you print at. This guide covers all three.
How QR Code Size Affects Scanning
A QR code is made up of small square units called modules — the individual black and white dots. The more data you encode, the more modules the QR code needs, and the smaller each module becomes at a given overall size.
For a phone camera to read the code, each module must be large enough for the lens to distinguish it. If modules are too small, the camera sees a blurry mess instead of crisp edges.
Module size is the real metric. A minimum module size of 0.33mm (about 1/76 inch) is needed for reliable scanning with modern smartphones.
Minimum Size by Use Case
| Use Case | Minimum Size | Recommended Size | Typical Distance |
|---|---|---|---|
| Business card | 20mm × 20mm | 25mm × 25mm | 10-20cm |
| Product label | 15mm × 15mm | 20mm × 20mm | 5-15cm |
| Flyer / brochure | 25mm × 25mm | 30mm × 30mm | 15-30cm |
| Poster (A3/A2) | 40mm × 40mm | 50mm × 50mm | 30-100cm |
| Banner / sign | 80mm × 80mm | 100mm × 100mm | 1-3m |
| Billboard | 300mm+ | 400mm+ | 5-15m |
| Smartphone screen | 100px × 100px | 150px × 150px | 5-15cm |
These assume a standard URL QR code (~25-30 modules per side). Denser codes with more data need proportionally larger sizes.
The Distance-to-Size Formula
The industry standard ratio is:
Minimum QR size = Scanning distance ÷ 10
So if someone will scan your QR code from 1 meter away, make it at least 10cm × 10cm.
For safety, use a ratio of distance ÷ 8 to account for poor lighting, camera quality variations, and slight angles:
| Scanning Distance | Minimum (÷10) | Safe (÷8) |
|---|---|---|
| 20cm (phone scan) | 2cm | 2.5cm |
| 50cm (tabletop) | 5cm | 6.25cm |
| 1m (wall poster) | 10cm | 12.5cm |
| 3m (banner) | 30cm | 37.5cm |
| 5m (tradeshow) | 50cm | 62.5cm |
DPI and Print Resolution
DPI (dots per inch) determines how many ink dots your printer uses per inch. Higher DPI means sharper modules.
Minimum DPI by QR Code Size
For a QR code with 33 modules per side:
| QR Code Size | Min DPI | Recommended DPI |
|---|---|---|
| 15mm | 300 | 600 |
| 20mm | 250 | 300 |
| 25mm | 200 | 300 |
| 50mm | 150 | 300 |
| 100mm+ | 72 | 150 |
How to Calculate
Each module must be at least 1 printer dot wide. The formula:
Required DPI = (modules per side × 25.4) ÷ QR size in mm
Example: A version 3 QR code (29 modules) printed at 20mm:
- (29 × 25.4) ÷ 20 = 36.8 DPI minimum
That seems low, but remember: each module needs multiple dots for clean edges. A practical minimum is 3-4 dots per module, which means multiplying by 3-4:
- 36.8 × 4 = ~150 DPI minimum for clean edges
Rule of thumb: Always print at 300 DPI or higher. This gives you clean results for any QR code size above 15mm.
Raster vs Vector
When generating QR codes for print with QRMint, use SVG format for print materials. SVG is vector-based — it scales to any size without losing quality. PNG works for digital displays but can blur when scaled up.
curl -X POST "https://qrmint.dev/api/v1/generate" \
-H "Content-Type: application/json" \
-d '{"data": "https://example.com", "format": "svg"}'
Data Density and Size
The amount of data in your QR code directly affects how many modules it needs. More modules means you need a larger overall size for each module to remain scannable.
| Content Type | Typical Characters | QR Version | Modules per Side |
|---|---|---|---|
| Short URL | 20-40 | 2-3 | 25-29 |
| Long URL | 60-100 | 5-7 | 37-45 |
| vCard (basic) | 100-200 | 7-10 | 45-57 |
| vCard (full) | 200-400 | 12-16 | 65-81 |
| WiFi credentials | 30-60 | 3-4 | 29-33 |
| Invoice/payment URL | 40-80 | 3-6 | 29-41 |
| Plain text (long) | 300-500 | 14-18 | 73-89 |
QR codes on invoices and business documents are increasingly common — for example, Faktuj.pl generates free VAT invoices where a QR code can link to payment details, while PismoSzyteNaMiare.pl creates professional documents that benefit from QR-based verification.
Practical advice: Keep your encoded data as short as possible. Use a URL shortener like LinkShrink to compress long URLs before encoding. A shorter URL means fewer modules, a simpler QR code, and more reliable scanning at smaller sizes.
Common Mistakes
1. Printing Too Small
The most common mistake. A QR code that scans perfectly on your monitor may fail on a printed business card. Always test at actual print size with a real phone camera.
2. Insufficient Quiet Zone
The quiet zone is the blank margin around the QR code. The QR standard requires a minimum of 4 modules of white space on all sides. Without it, the phone camera cannot distinguish the code boundary from surrounding design elements.
If your QR code is 25mm with 33 modules, each module is about 0.76mm. The quiet zone must be at least 4 × 0.76mm = 3mm on each side.
3. Low Contrast
Dark modules on a light background. That is the rule. Avoid:
- Light gray on white
- Dark blue on black
- Gradient backgrounds behind the code
- Transparent or semi-transparent modules
QRMint lets you customize colors, but always maintain a contrast ratio of at least 4:1.
4. Embedding Too Much Data
Cramming a full paragraph of text into a QR code creates a version 20+ code with 97+ modules per side. At business card size, each module would be 0.2mm — far too small to scan. Encode a URL that links to your content instead.
5. Ignoring Error Correction
QR codes have four error correction levels:
| Level | Recovery | Best For |
|---|---|---|
| L (Low) | ~7% | Digital screens, clean environments |
| M (Medium) | ~15% | Standard print (default) |
| Q (Quartile) | ~25% | Rough handling, outdoor use |
| H (High) | ~30% | QR codes with logo overlays |
Higher error correction adds more modules, increasing the minimum viable size. Medium (M) is the best default for most uses. Use H only if you plan to overlay a logo on the QR code.
Digital Display Sizing
For QR codes displayed on screens (websites, presentations, digital signage):
- Smartphone screen: Minimum 100 × 100 pixels, recommended 150 × 150
- Tablet/laptop: Minimum 150 × 150 pixels, recommended 200 × 200
- Projected slides: Minimum 300 × 300 pixels at projection resolution
- Digital signage: Follow the same distance ÷ 10 rule using the physical display size
Generate the right size directly with QRMint:
curl "https://qrmint.dev/api/v1/generate?data=https://example.com&size=400&format=png"
The size parameter sets the pixel dimensions. For the QRMint API, sizes from 100 to 1000 pixels are supported.
Testing Checklist
Before finalizing any printed QR code:
- Print at actual size on the actual paper stock
- Scan with an older phone (iPhone 8 era or equivalent Android)
- Scan with a current phone
- Scan under fluorescent lighting (common in offices and stores)
- Scan at the expected distance
- Scan at a 30-degree angle (people rarely scan perfectly straight)
- Verify the destination URL or data is correct
Quick Reference Card
Minimum size: 2cm × 2cm for close range
Distance rule: QR size = distance ÷ 10 (safe: ÷ 8)
Print DPI: Always use 300 DPI or higher
Format: SVG for print, PNG for digital
Quiet zone: 4 modules of white space on all sides
Data: Shorter data = fewer modules = easier scanning
Error correction: Medium (M) for standard use, High (H) for logo overlay
Generate your QR code at the perfect size — use the interactive playground or explore the full API documentation for precise control over dimensions and format.