Guide
QR Code Error Correction Explained (L, M, Q, H)
Every QR generator has an error-correction setting most people ignore. Here's what L, M, Q, and H actually control, and when each one matters.
Written by Muhammad Mudassar Saeed · Updated 2026-08-20
Error correction is what lets a QR code keep working even when part of it is scratched, dirty, or covered by a logo. It's one setting most people leave on the default without knowing what it trades off.
How it works, briefly
QR codes use Reed-Solomon error correction, which adds redundant data to the code on top of your actual content. If part of the printed code becomes unreadable, whether scratched, faded, or obscured, the scanner can reconstruct the missing pieces from that redundancy, up to a defined limit.
The four levels
- L (Low): recovers from about 7% damage. The most compact pattern for a given amount of data.
- M (Medium): recovers from about 15% damage. A reasonable general-purpose default.
- Q (Quartile): recovers from about 25% damage.
- H (High): recovers from about 30% damage. The densest pattern for the same data, but the most resilient.
The trade-off is size: higher error correction means more redundant data packed into the same code, which makes the pattern denser, either a physically larger printed code, or smaller individual modules at the same size.
Which level to actually use
M is a solid default for most everyday use: a menu, a business card, a sign in normal conditions. Step up to Q for anything printed on materials likely to see wear, like packaging or outdoor signage. H is effectively mandatory any time you're adding a logo to the center of a QR code, since the logo covers real modules. Without enough redundancy to reconstruct what's underneath, the code simply won't scan. This is why ClearQR automatically switches to H and locks the setting whenever a logo is uploaded.
Frequently asked questions
Does higher error correction slow down scanning?
Not meaningfully. Modern phone cameras decode any of the four levels almost instantly. The real cost is visual: a denser, more detailed-looking pattern for the same content.
Can I use a logo with Low or Medium error correction?
Not reliably. Enough modules get covered by a centered logo that the code is likely to fail without the extra redundancy High correction provides, which is why it's enforced automatically once you add one.
Should I always just use the highest level to be safe?
Not necessarily. A denser code needs to be printed larger to stay scannable at the same distance (see our size guide). For clean digital use with no risk of damage, L or M keeps the pattern simpler and easier to scan quickly.