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.