QR Code Error Correction Levels Explained: L, M, Q, H and Which to Use

·6 min read·EzyIMG Team

By EzyIMG Team - September 12, 2026 - 6 min read

Four QR codes showing increasing pattern density for higher error correction levels

Every QR code generator quietly picks an error correction level for you, usually without asking, and that one setting decides how much physical damage, dirt, or glare a code can survive before it stops scanning. Here's what the four levels (L, M, Q, H) actually mean, the real trade-off each one makes, and which one fits your situation.

Generate a QR code with the right settings

Open QR Code Generator — Free, No Signup

What Error Correction Actually Does

A QR code doesn't just store your data once, it also stores extra redundant data alongside it, following the same general idea as a backup copy spread across the pattern. If part of the code gets smudged, torn, or covered by a logo, a scanner can still mathematically reconstruct the missing pieces from that redundancy, as long as the damaged portion stays under the level's recovery threshold. More redundancy means more damage tolerance, but it also means a visually denser, more complex pattern for the same content.

The Four Levels, and What Each One Tolerates

  • L (Low): Recovers from roughly 7% damage. The lightest, least dense pattern for a given amount of data.
  • M (Medium): Recovers from roughly 15% damage. The default most generators, including EzyIMG's, use when nothing else is specified.
  • Q (Quartile): Recovers from roughly 25% damage. Noticeably denser than M for the same content.
  • H (High): Recovers from roughly 30% damage. The densest option, generally reserved for codes that will carry a logo or face real physical wear.

Those percentages describe how much of the code's total pattern area can be unreadable, due to dirt, a scratch, glare, or an overlaid logo, before the scanner can no longer reconstruct the original data. It's not a guarantee tied to a specific type of damage, a deep tear across a critical section can still break a high-tolerance code, but as a general rule, higher letter means more forgiveness.

Why Higher Isn't Automatically Better

The redundant data has to live somewhere in the pattern, so higher error correction makes the code visually denser for the exact same content. A denser pattern needs to be printed or displayed larger to stay scannable at the same distance, since individual modules (the small squares) shrink to fit the extra data in the same overall size. Jumping straight to H for a code that will only ever live on a clean digital screen, with no damage risk and no logo, just makes it harder to scan from further away for no real benefit.

Pick the right level for your use case

Open QR Code Generator — Free, No Signup

Which Level to Actually Use

For a code shown purely on a screen, a slide deck, a website, an app, low or medium is plenty, since there's no physical wear to survive. For anything printed and handled regularly, a business card, a menu, a shipping label, medium is a safe default. For a code going outdoors, on packaging that'll get handled roughly, or anywhere it might pick up dirt or scratches, quartile is worth the denser pattern. Reserve high specifically for codes that will have a logo placed over their center, since covering part of the pattern is exactly the kind of damage high correction is built to absorb, and it's the one situation where the extra density is genuinely earning its keep.

How Content Length Interacts With Error Correction

Longer content, a long URL with tracking parameters versus a short one, for example, already pushes a code toward a denser pattern on its own, independent of error correction level. Combine a long URL with a high error correction level and the resulting code can get dense enough to need a genuinely large print size to stay reliably scannable. If a code needs both heavy damage tolerance and a lot of stored data, shortening the underlying content, using a short link instead of a long tracked URL, is often the more practical fix than backing off the error correction level.

Frequently Asked Questions

What error correction level does EzyIMG use by default?

Medium (M), which recovers from roughly 15% damage. It's a solid default for most everyday use, from digital display to normal printed handling.

Do I need high error correction if I'm not adding a logo?

Usually not. High correction earns its density cost mainly when something is actually covering part of the code, like a logo, or when the code will face real physical wear. Without either, medium or quartile is typically enough.

Can I change the error correction level after generating a code?

No, the level is baked into the code's pattern the moment it's generated. Changing it means generating a brand new code, which is exactly why it's worth picking the right level before printing.

Does higher error correction make a QR code more secure?

No, error correction is purely about physical damage tolerance, not security or encryption. A QR code's trustworthiness always depends on the destination it points to, not its error correction level.

Related tools