QR Code Error Correction Levels Explained
Understand the four QR code error correction levels and when to use each one.
What Is Error Correction?
QR codes use Reed-Solomon error correction, a mathematical algorithm that adds redundant data to the code. This redundancy allows scanners to reconstruct the original data even when parts of the QR code are unreadable.
Think of it like this: if you write a message and repeat important parts, someone can still understand the full message even if parts are smudged or torn.
The Four Error Correction Levels
Level L (Low) - 7% Recovery
- Recovery capacity: Up to 7% of data can be restored
- Code density: Smallest and simplest QR code
- Best for: Clean, controlled digital environments
- Displaying on screens
- Short URLs or simple data
- Maximum scannability is needed
- Code size must be minimized
Level M (Medium) - 15% Recovery
- Recovery capacity: Up to 15% of data can be restored
- Code density: Slightly larger than Level L
- Best for: General-purpose use, the default choice
- Standard marketing materials
- Indoor signage
- Product packaging in good condition
- Most everyday applications
Level Q (Quartile) - 25% Recovery
- Recovery capacity: Up to 25% of data can be restored
- Code density: Noticeably larger
- Best for: Outdoor use or potentially damaging environments
- Outdoor signage exposed to weather
- Factory or warehouse labels
- Packaging that may get scratched
- Environments with dust or moisture
Level H (High) - 30% Recovery
- Recovery capacity: Up to 30% of data can be restored
- Code density: Largest and most complex
- Best for: Adding logos or harsh environments
- Embedding a logo in the center of the QR code
- Industrial environments with potential for significant damage
- Long-term outdoor exposure
- Critical applications where scanning must always work
Comparison Table
| Feature | Level L | Level M | Level Q | Level H | |---------|---------|---------|---------|---------| | Recovery | 7% | 15% | 25% | 30% | | Code size | Smallest | Medium | Large | Largest | | Data capacity | Highest | High | Medium | Lowest | | Best for | Digital | General | Outdoor | Logo/Industrial | | Scan speed | Fastest | Fast | Moderate | Slower |
How Error Correction Affects QR Code Size
Higher error correction means more data modules in the QR code, which makes it physically larger or requires smaller modules. For the same content:
- Level L: Might create a Version 2 QR code (25x25 modules)
- Level M: Might create a Version 3 QR code (29x29 modules)
- Level Q: Might create a Version 4 QR code (33x33 modules)
- Level H: Might create a Version 5 QR code (37x37 modules)
Practical Tips
For Logo Embedding
If you want to place a logo in the center of your QR code: 1. Always use Level H error correction 2. Keep the logo under 30% of the total code area 3. Place the logo exactly in the center 4. Test thoroughly with multiple scanning apps 5. Avoid covering the finder patterns (corner squares)For Print Materials
- Indoor print: Level M is usually sufficient
- Outdoor print: Use Level Q or H
- Premium materials: Level M works well
- Budget materials: Use Level Q for safety margin
For Digital Display
- Screens and monitors: Level L is fine
- Projected codes: Use Level M for safety
- Small mobile screens: Level L for fastest scanning
Common Misconceptions
1. Higher is always better - Not true. Higher error correction makes codes larger and denser, which can actually make scanning harder for simple use cases.
2. Error correction fixes bad design - It cannot fix fundamental issues like insufficient contrast or codes that are too small.
3. All scanners handle error correction the same - Different scanning apps may have varying capabilities.
Use our QR Generator to experiment with different error correction levels and see how they affect your QR code's appearance and scannability.