Blog

QR Code Error Correction Explained: L vs M vs Q vs H

error correction 2025-12-10 • 9 min read • by qrfreetool
error correctionecclogoreliability
Quick Summary
  • Higher error correction improves scanning resilience but increases QR density.
  • For plain QRs, M is often a good default; for logo QRs, use Q or H.
  • Dense QRs may need a larger size—especially in print.
  • Error correction helps against damage and occlusion, but it’s not magic: contrast and quiet zone still matter.

What is QR error correction?

QR codes include redundancy—extra information that helps a scanner recover data if part of the code is damaged, blurred, or covered.

This redundancy is called error correction. It’s why a QR can still scan even with small scratches or a logo in the center.

Error correction is one of the most important settings for real-world QR reliability.

The four common levels: L, M, Q, H

  • L (Low): least redundancy, lowest density.
  • M (Medium): balanced redundancy and density.
  • Q (Quartile): higher redundancy, better for moderate damage or logos.
  • H (High): highest redundancy, best for challenging use cases.

Different tools may explain levels differently, but the practical idea is consistent: higher levels tolerate more damage at the cost of a denser pattern.

How error correction affects size and scan speed

Higher error correction adds redundancy, which usually increases the number of modules (tiny squares) needed for the same payload.

A denser code requires more camera resolution to decode. That means if you raise error correction, you may need to increase physical size—especially for print.

If you notice scanning slows down after raising error correction, try increasing size and improving contrast.

Logo QR codes: the most common reason to increase error correction

When you add a logo, you’re covering part of the data area. Error correction helps recover that lost information.

A good starting rule: for QRs with logos, use Q or H, keep the logo size modest, and preserve the quiet zone.

If the QR still scans slowly, reduce logo size or increase the QR size.

Do you always need H for a logo?

Not always. If your payload is short (simple URL) and your logo is small, Q may be enough. H is safer for larger logos, rough print conditions, or small QRs.

When to use each level (practical guidance)

  • L: short URLs displayed large on screen, where damage is unlikely.
  • M: general-purpose default for most printed QRs without logos.
  • Q: printed materials with moderate wear, or logo QRs.
  • H: harsh environments, small stickers, or QR codes likely to get scratched or partially covered.

If you’re unsure, start with M, test, then increase to Q/H when you add logos or face tough conditions.

How to set error correction in qrfreetool

On Generate, choose your error correction level and watch the preview update. If you increase error correction and the QR looks denser, consider increasing size.

Then verify scannability on Scan using camera mode and image upload mode. Testing both helps catch problems early.

Key takeaways

  • Error correction adds redundancy to survive damage and occlusion.
  • Higher levels (Q/H) are best for logo QRs and harsh print conditions.
  • Higher error correction increases density, so you may need larger size.
  • Keep contrast and quiet zone strong—error correction can’t fix poor design.
  • Test on multiple devices before publishing.

FAQ

What error correction level should I use for most QR codes?

M is a balanced default for many QRs. If you add a logo or expect wear, move to Q or H.

Does higher error correction make a QR more secure?

No. It improves reliability, not security. Security depends on the destination and user verification.

Why did my QR become harder to scan after choosing H?

H can increase density. Increase the physical size, improve contrast, and ensure the quiet zone is clear.

Can error correction fix a QR with low contrast?

Not reliably. Low contrast makes detection hard. Improve contrast first, then use error correction for resilience.

Should I always use H just to be safe?

Not necessarily. H can create a denser QR. Choose the level that fits your use case and test performance.

Safety note: Treat unknown QR codes like unknown links. If a code opens a login or payment page, verify the domain carefully before entering information.