QR Code Error Correction: What It Is and Why It Matters
Error correction is why QR codes still work when scratched, partially covered, or branded with a logo. Here is how it works.
What is error correction?
QR codes use Reed-Solomon error correction to add redundant data to the encoded content. This redundancy allows the code to be decoded even if parts of it are damaged, dirty, or obscured. It is the same principle used in CDs and satellite communications — the data can be recovered even with missing pieces.
The four error correction levels
QR codes support four error correction levels. Level L (Low) can recover up to 7% of data. Level M (Medium) recovers 15%. Level Q (Quartile) recovers 25%. Level H (High) recovers 30%. Higher levels add more redundant data, which means more modules in the QR pattern.
Tips
- Level M is the default for most generators — a good balance of size and resilience
- Level H is recommended when adding a logo or when codes will be used in harsh conditions
How error correction affects QR code size
Higher error correction adds more modules to the pattern, making the code denser and visually larger. For the same content, a Level H code has about 65% more data modules than Level L. This means the code needs to be printed slightly larger for reliable scanning, but gains significant durability.
When to use each level
Level L: digital displays with clean, controlled environments. Level M: general print materials, packaging. Level Q: outdoor signage or materials that may get dirty. Level H: QR codes with logos, codes on rough surfaces, or codes that will be handled frequently.
Tips
- If you add a logo, your generator should automatically switch to Level H
- For long-term outdoor use, Level Q or H protects against weather damage
Error correction and data capacity
There is a tradeoff: higher error correction reduces the total data capacity of the code. A Version 10 QR code (57x57 modules) holds 652 characters at Level L but only 346 at Level H. For most use cases (URLs, contact info), this is not an issue. But for very long text content, you may need to balance correction level with data length.
Frequently Asked Questions
What error correction level should I use?
Level M for most use cases. Level H if you are adding a logo or printing on surfaces that may get damaged.
Does error correction make QR codes bigger?
Yes. Higher error correction adds more modules, creating a denser pattern. The code may need to be printed slightly larger for reliable scanning.
Can a QR code work if part of it is missing?
Yes, up to the percentage defined by its error correction level. A Level H code can still work with up to 30% of its data obscured.
Does EZQR let me choose the error correction level?
EZQR automatically selects the optimal error correction level based on your content and whether you add a logo. You can also override it in the advanced settings.
Ready to create your QR code?
Free, no signup, no watermarks. Generate and download in seconds.
Generate Free QR Code