QR Code Guides

QR Code Error Correction Levels Explained (L, M, Q & H)

Every QR code you generate carries a hidden setting called an error correction level — a letter from L to H that decides how much of the code can be damaged, dirty, or covered by a logo before it stops scanning. Get it wrong and a perfectly good-looking code can fail at the till, on a poster, or on a business card. Here's exactly what each level does and which one to use.

What Is QR Code Error Correction?

QR codes use a system called Reed-Solomon error correction to store your data with built-in redundancy. In plain terms: the code doesn't just write your link or text once — it also encodes extra "backup" data alongside it. If part of the code gets scratched, smudged, rained on, or blocked by a logo, a scanner can still reconstruct the missing pieces using that backup data and read the code correctly.

This is the same underlying idea used in CDs, DVDs, and satellite transmissions — build in enough redundancy that some damage doesn't destroy the whole signal. The higher the error correction level, the more of the code can be missing or unreadable before the scan fails.

The Four Error Correction Levels

The QR code standard defines four fixed levels. Every generator — including ours — uses one of these four:

LevelRecovery CapacityBest For
L (Low)~7% of the code can be restoredClean digital use only — email, screens, apps. No logo, no print wear.
M (Medium)~15% of the code can be restoredGeneral-purpose default for most websites and marketing links.
Q (Quartile)~25% of the code can be restoredOutdoor signage, packaging, or codes exposed to handling and wear.
H (High)~30% of the code can be restoredCodes with a logo, industrial/warehouse labels, anywhere damage is likely.

Which Error Correction Level Should You Actually Use?

Most people never need to think about this — but if you're troubleshooting a scan failure or designing for print, here's the practical rule of thumb:

  • Sharing a link on-screen only (no printing)? Level L or M is plenty. You're saving a small amount of code density for no real benefit.
  • Printing on a flyer, poster, or business card? Use Level Q or H. Paper gets creased, faded by sunlight, and handled — you want the buffer.
  • Adding a logo to the center of your code? Always use Level H. A logo physically blocks part of the code's data pattern, so you need the maximum recovery margin available.
  • Using it outdoors, on packaging, or in a warehouse? Use Level Q or H — these environments cause scratches, dirt, and moisture damage.

This is the single most common reason a branded QR code fails to scan. A logo sitting in the middle of a QR code physically covers real data modules. If the code was generated at Level L or M, that coverage can exceed what the code is able to reconstruct — and the scan simply fails, often intermittently, which makes it confusing to diagnose.

At Level H, up to roughly 30% of the code can be obscured or damaged and still scan reliably, which is why every reputable generator — including ours — automatically switches to Level H the moment you upload a logo. If you're designing your own branded code and troubleshooting a scan issue, this is the first setting to check.

If your logo still isn't scanning even at Level H, the problem is usually the logo's size relative to the code, not the error correction setting itself. See our guide on the minimum logo size for a QR code for the exact proportions that keep a branded code scannable.

The Trade-Off: Density vs. Reliability

Higher error correction isn't "free" — it comes at a cost. More backup data means the QR code has to pack more information into the same visual space, which makes the pattern denser and the individual squares (modules) smaller. A denser code:

  • Needs to be printed slightly larger to stay scannable at a distance
  • Is more sensitive to low-quality printing or blurry export files
  • Can be harder for older or cheaper scanner apps to read at very small sizes

This is why Level H isn't simply "the best setting to always use" — it's the right setting when you need the resilience (logos, print, outdoor use), but for a clean digital-only code, Level L or M keeps the pattern simpler and easier to scan on small screens.

If you're printing your code, also make sure you're exporting at a high enough resolution — a high error correction level can't compensate for a blurry, low-resolution PNG. The two issues are separate and both need to be right.

Frequently Asked Questions

What error correction level do most QR code generators use by default?

Most generators default to Level M (medium, ~15% recovery) as a balance between reliability and code density, then automatically switch to Level H if you add a logo.

Does a higher error correction level make a QR code more secure?

No. Error correction has nothing to do with security or encryption — it's purely about the code's ability to be read correctly when part of it is damaged, dirty, or covered. A QR code's destination link is never encrypted by error correction settings.

Can I change the error correction level after a QR code is printed?

No. Error correction is baked into the code's pattern at the moment it's generated. If you need a different level, you have to generate and print a new code — the underlying image itself can't be edited to change it.

Why does my QR code look "busier" or more complex than others?

That's usually a higher error correction level (Q or H) creating a denser pattern to store the extra backup data. It's normal and doesn't affect scan speed as long as the code is printed at an adequate size.

Should I use Level H for every QR code just to be safe?

Not necessarily. Level H is ideal when you have a logo, print the code, or expect wear and tear. For clean digital-only codes viewed on a screen, Level L or M keeps the pattern simpler, which can actually improve scan speed on lower-quality cameras.

Generate a QR Code With the Right Error Correction Automatically

Our free generator sets the correct error correction level for you — including switching to Level H automatically when you upload a logo. No sign-up, no watermark, no scan limits.

Create Your Free QR Code →
Scroll to Top