Blog

QR Code Error Correction Explained — Complete Guide

Learn everything about QR code error correction — levels L, M, Q, H, recovery capacity, and when to use each level for optimal performance.

QR code error correction is one of the most important features of QR codes. It allows QR codes to remain scannable even when they're partially damaged, dirty, or covered by a logo.

In this guide, we'll explain QR code error correction levels L, M, Q, and H, their recovery capacities, when to use each, and how to choose the right level for your needs.

Key fact: QR codes can recover up to 30% of damaged data — making them remarkably resilient compared to barcodes.

1. What is QR Code Error Correction?

Error correction is a built-in feature of QR codes that allows the code to be read correctly even when part of it is damaged, obscured, or dirty. It works by adding redundant data (Reed-Solomon error correction) to the QR code.

Think of it like a backup system — if some data is lost or corrupted, the QR code can rebuild the missing information using the redundant data.

Why does this matter?

  • QR codes on printed materials can get scratched or dirty
  • QR codes on packaging can be partially covered
  • QR codes with logos have part of the code covered
  • QR codes on curved surfaces can be distorted

Pro tip: Error correction is what makes QR codes reliable in the real world. Without it, QR codes would be as fragile as barcodes.

2. Error Correction Levels Explained

QR codes have four error correction levels. Each level offers a different recovery capacity:

Level L — Low (7% Recovery)

  • Recovery: ~7% of the code can be damaged
  • Best for: Clean printing, large codes, minimal damage
  • Data capacity: Highest (most data storage)
  • Use case: Digital QR codes, clean indoor printing

Level M — Medium (15% Recovery)

  • Recovery: ~15% of the code can be damaged
  • Best for: General use, good balance
  • Data capacity: Medium
  • Use case: Most everyday QR code applications

Level Q — High (25% Recovery)

  • Recovery: ~25% of the code can be damaged
  • Best for: Codes with logos or moderate damage
  • Data capacity: Lower
  • Use case: Branded QR codes, outdoor printing

Level H — Highest (30% Recovery)

  • Recovery: ~30% of the code can be damaged
  • Best for: Maximum protection, logos
  • Data capacity: Lowest
  • Use case: Heavy customization, logos, extreme conditions

Pro tip: Higher error correction = more reliable scanning but less data storage. Choose the right balance for your use case.

3. Comparison Table

Level Recovery Capacity Data Capacity Best For
L Low ~7% damage recovery Highest Clean printing, digital use
M Medium ~15% damage recovery Medium General use, good balance
Q High ~25% damage recovery Lower Codes with logos, outdoor use
H Highest ~30% damage recovery Lowest Maximum protection, heavy logos

Quick guide: L = Most data, least recovery. H = Most recovery, least data. Choose based on your priority.

4. When to Use Each Level

Use Level L When:

  • You need maximum data capacity
  • The QR code is digital (not printed)
  • The QR code is on clean, flat surfaces
  • There's no risk of damage or obstruction

Use Level M When:

  • You need a good balance of data and recovery
  • Everyday use cases
  • Printing on paper or posters
  • Moderate risk of damage

Use Level Q When:

  • You're adding a small logo to the QR code
  • Printing on packaging or labels
  • Outdoor or rough conditions
  • You need good protection

Use Level H When:

  • You're adding a large logo to the QR code
  • Maximum protection is required
  • Printing in harsh conditions
  • Scannability is critical

Warning: Using Level H reduces data capacity significantly. For long URLs, you may need Level L or M.

5. Error Correction for Logo Embedding

When you add a logo to the center of a QR code, you're covering part of the data area. This is where error correction becomes essential.

For QR codes with logos, we recommend Level H:

  • Level H gives you 30% recovery capacity
  • This allows your logo to cover up to 30% of the code
  • The code remains scannable even with the logo

Best practice: Always use Level H when embedding a logo. This gives your QR code the best chance of scanning successfully.

Logo Size Guidelines

  • Logo should be no larger than 20-25% of the QR code size
  • Use a transparent background for your logo
  • Avoid covering the three finder patterns (corners)
  • Test with multiple devices before printing

6. FAQs About QR Code Error Correction

What is QR code error correction?

QR code error correction is a built-in feature that allows QR codes to remain scannable even when partially damaged, dirty, or covered.

How many error correction levels are there?

There are four levels: L (low, 7% recovery), M (medium, 15% recovery), Q (high, 25% recovery), and H (highest, 30% recovery).

Which error correction level should I use?

Use Level L for digital codes, Level M for most printing, Level Q for small logos, and Level H for heavy logos or maximum protection.

Does error correction affect data capacity?

Yes. Higher error correction levels reduce data capacity. Level L stores the most data, Level H stores the least.

Can I add a logo to a QR code with Level L?

Not recommended. Level L offers only 7% recovery, which is insufficient for logo coverage. Use Level H for logos.

Can I choose error correction when generating QR codes?

Yes. QRastra allows you to choose the error correction level when generating QR codes — including Level H for logos.

Conclusion

QR code error correction is a powerful feature that ensures reliability in the real world. By choosing the right level — L, M, Q, or H — you can balance data capacity and damage recovery for your specific use case.

Ready to generate QR codes with the right error correction? QRastra lets you choose your error correction level — completely free, no login required.

Generate QR codes with error correction: Launch QRastra's QR generator and choose the right error correction level for your needs — completely free and private.

QRastra Team

QRastra Team

The QRastra Team is dedicated to building privacy-first, browser-based QR and barcode tools for everyone. No login, no tracking, no data collection.

Generate QR Codes with Error Correction For Free

Choose the right error correction level for your QR codes — Level L, M, Q, or H. No login, no tracking, completely free.