Skip to main content
EZQR
Best Practices··Updated Apr 2026

QR Code Error Correction Levels: L, M, Q, H Explained

TL;DR

QR codes use Reed-Solomon error correction to recover from damage. Four levels: L recovers 7% of data, M recovers 15%, Q recovers 25%, H recovers 30%. Higher correction means slightly larger codes but more durability. Pick M for most print work, Q or H if your codes face weather, handling, or have logos.

Key Takeaways

  • Level M (15% recovery) is the right default for most printed QR codes
  • Level Q (25%) or H (30%) for anything exposed to weather, folding, or physical damage
  • If you're adding a logo, use Q or H to compensate for covered modules
  • Error correction can't fix bad contrast or codes that are too small

What Error Correction Actually Does

Every QR code contains backup data calculated using the Reed-Solomon algorithm. When part of a code gets damaged, the scanner reconstructs what's missing. Think of it like writing every important sentence twice. If coffee spills on part of the page, you still have the backup copy.

L (7%): almost never the right choice. The 5% size savings over M is meaningless, but the reduced durability can cost you a reprint. M (15%): your default. Handles normal print conditions and slight wear. This is what works for about 80% of use cases. Q (25%): choose this for packaging that gets folded, shipped, or handled. Also the minimum for logos. H (30%): maximum resilience. Construction sites, vehicle wraps, outdoor billboards.

How to Choose: Ask These Questions

Will this code be outdoors or exposed to weather? Use H. Will it be folded, shipped, or handled repeatedly? Use Q. Does it have a logo embedded? Use Q minimum, H preferred. Is it a standard indoor print piece? Use M. Is it digital only? L works, but M costs you nothing extra.

So the practical answer: just use M unless you have a specific reason for Q or H. And never use L for anything printed.

Most real-world scan failures aren't caused by insufficient error correction. They're caused by codes being too small or having bad contrast. Fix size and contrast first. Then worry about error correction.

Error Correction and Logos

Logos are visual damage. When you place a logo over your code's center, you're covering data modules. Logo covers 5-10% of code: M might work, Q is safer. Logo covers 10-20%: Q minimum, H recommended. Logo covers 20%+: H required, and you're pushing the limits.

EZQR's logo editor accounts for this automatically. But don't assume a code that scans on your new iPhone will work on a 2019 budget Android. Test with older devices.

Q should be the new default for anything physical. The size increase is negligible (10% over L), the durability improvement is significant, and the cost difference is zero.

FAQ

Does higher error correction slow down scanning?

No. Your phone decodes an H-level code just as fast as an L-level code. The extra data is processed transparently.

Can I change error correction after generating a code?

No. Error correction is baked into the code's mathematical structure. You'd need to generate a new code.

What level should I use for print?

M minimum. Q if codes will be handled or shipped. H for outdoor or weather-exposed codes. Never use L for print.

Does error correction help if my code has a logo?

Yes. A logo covers modules the same way damage does. Use Q or H when adding logos.

More From This Category

Written by

EZQR Editorial Team
EZQR Editorial Team

The EZQR editorial team writes practical guides on QR code strategy, print workflows, and how small businesses use scan-based technology. Posts are fact-checked against the ISO/IEC 18004 standard and updated when specs or market conditions change.

Ready to create your QR code?

No signup for static codes. Dynamic codes start at $5/mo. No watermarks, no expiry.

Generate a QR code with the right error correction at EZQR