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

Every QR code contains built-in error correction that allows it to remain scannable even when part of the code is damaged, obscured, or deliberately covered by a logo. This capability is not magic -- it is the result of a mathematical algorithm called Reed-Solomon error correction, the same technology used in CDs, DVDs, and satellite communications to recover data from corrupted signals.

Understanding error correction levels is essential if you plan to print QR codes on business cards, add a logo overlay, or use them in any environment where physical damage is possible. Choosing the wrong level can mean the difference between a QR code that scans reliably every time and one that fails when it matters most.

What Is QR Code Error Correction?

When a QR code is generated, the encoder does not simply store your URL or data in the pattern of black and white modules. It also adds redundant data -- extra information calculated using Reed-Solomon codes -- that allows a scanner to reconstruct the original data even if some modules are unreadable.

Think of it like this: if you wrote a phone number on a piece of paper and someone smudged two of the digits, you could not recover the number. But if you also wrote the number backward underneath, and a checksum on the side, someone could cross-reference all three and figure out the missing digits. Reed-Solomon codes work on the same principle, but with far more mathematical sophistication.

The QR code standard (ISO/IEC 18004) defines exactly four error correction levels, each offering a different balance between data recovery capacity and code complexity.

The Four Error Correction Levels

Every QR code uses one of these four levels. The level is chosen at generation time and cannot be changed afterward without regenerating the code.

Level Name Data Recovery Best For
L Low ~7% of data Digital screens, clean environments
M Medium ~15% of data General-purpose printing
Q Quartile ~25% of data Outdoor or industrial use
H High ~30% of data Logo overlays, harsh conditions

The percentages represent the maximum proportion of codewords (data units) that can be damaged or missing while still allowing the scanner to decode the full original data. At Level H, nearly one-third of the QR code can be unreadable and it will still scan correctly.

Level L: Low Error Correction (7%)

Level L provides the minimum amount of redundancy. It produces the smallest, simplest QR codes because less space is devoted to error correction data. This makes Level L ideal for situations where the QR code will be displayed on a clean digital screen -- a website, an app, a presentation slide -- where there is no risk of physical damage or obstruction.

However, Level L offers almost no tolerance for damage. A single scratch across the code, a smudge from a fingerprint, or even slight printing imperfections can cause scanning failures. For anything that will be printed on paper, Level L is risky.

Level M: Medium Error Correction (15%)

Level M is the default in many QR code generators. It doubles the error correction capacity of Level L, allowing recovery from moderate damage. This level works well for QR codes printed on flyers, brochures, and documents that will be handled in reasonably clean, indoor environments.

Level M represents a practical middle ground: the code is slightly larger than Level L but significantly more resilient. For most standard printing applications where no logo is needed, Level M is a reasonable choice.

Level Q: Quartile Error Correction (25%)

Level Q can recover from up to a quarter of the code being damaged. This level is appropriate for QR codes used in environments where wear and tear is expected: product packaging that gets handled repeatedly, outdoor signage exposed to weather, warehouse labels subject to scuffing, or trade show materials that pass through many hands.

Level Q adds noticeably more modules to the code compared to Level L or M. The QR code will be denser -- more black and white squares packed into the same area -- or it will need to be physically larger to maintain the same module size. This tradeoff is worth it when reliability in rough conditions is more important than code compactness.

Level H: High Error Correction (30%)

Level H is the maximum error correction available in the QR code standard. It can recover from up to 30% of data loss, making it the most resilient option. Level H is essential in two specific scenarios:

  • Logo overlays: When you place a logo in the center of a QR code, you are literally covering and destroying some of the code's modules. The scanner must rely entirely on error correction to reconstruct the missing data. Level H provides enough redundancy to tolerate a center logo that covers approximately 10-15% of the code area.
  • Harsh physical conditions: Business cards that live in wallets, stickers on equipment, labels in warehouses, or any QR code that will face scratches, moisture, dirt, or UV fading.

The tradeoff with Level H is that the QR code contains significantly more modules. For the same data (such as a LinkedIn profile URL), a Level H code will have more modules than a Level L code. This means the code must either be printed larger or the individual modules become smaller -- which in turn requires a higher print resolution for reliable scanning.

Why Logo QR Codes Require Level H

This is the most important practical application of error correction levels. When you generate a LinkedIn QR code with the LinkedIn logo in the center, the logo physically replaces a portion of the QR pattern. Those covered modules are gone -- the scanner cannot read them at all.

Without sufficient error correction, this would make the code unscannable. Here is what happens at each level when a center logo is present:

  • Level L (7%): Almost certainly fails. The logo covers more data than the code can recover.
  • Level M (15%): May work with a very small logo, but unreliable. Any additional damage (fingerprint, scratch) pushes it over the recovery limit.
  • Level Q (25%): Works with a modest logo, but leaves little margin for any other damage.
  • Level H (30%): Reliably supports a standard center logo and still has remaining error correction capacity to handle minor physical damage on top of the logo obstruction.

This is why our LinkedIn QR Code Generator uses Level H for every code it creates. The LinkedIn logo in the center is a key feature that makes the QR code immediately recognizable as a professional networking link, and Level H ensures it never compromises scannability.

How Error Correction Affects QR Code Size

Higher error correction means more data must be stored in the QR code, which directly increases the number of modules. The QR code standard organizes codes into "versions" from 1 (21x21 modules) to 40 (177x177 modules). Higher error correction can push the same data into a higher version with more modules.

For a typical LinkedIn profile URL (around 40-50 characters), the difference is manageable:

  • Level L: Typically Version 3 (29x29 modules)
  • Level M: Typically Version 3 or 4 (29x29 or 33x33 modules)
  • Level Q: Typically Version 4 or 5 (33x33 or 37x37 modules)
  • Level H: Typically Version 5 or 6 (37x37 or 41x41 modules)

The increase from 29x29 to 37x37 modules is noticeable but not dramatic. When printed at the recommended minimum size of 2 cm for business cards, even Version 6 codes scan reliably with modern smartphone cameras.

When to Use Each Level: A Practical Guide

Choose your error correction level based on where and how the QR code will be used:

  • Digital screens only (websites, apps, presentations): Level L or M is sufficient. No physical damage risk.
  • Clean indoor printing (office flyers, event programs): Level M provides a good balance of size and resilience.
  • Business cards and printed materials that will be handled: Level Q or H. Cards get bent, scratched, and stored in wallets.
  • Any QR code with a logo overlay: Level H is mandatory. No exceptions.
  • Outdoor or industrial environments: Level H. Weather, dirt, UV exposure, and mechanical wear demand maximum error correction.
  • Product packaging: Level Q or H, depending on handling conditions.

Why mylinkqr.com Uses Level H for All LinkedIn QR Codes

Every QR code generated on this site uses Level H error correction. This is a deliberate choice, not a default we forgot to change. Here is the reasoning:

  1. The LinkedIn logo is always present. Every QR code we generate includes the LinkedIn logo in the center, which requires Level H to remain scannable.
  2. Business cards are the primary use case. Most users download these codes for business card printing. Cards endure wallet storage, pocket friction, and repeated handling -- all of which can damage a QR code.
  3. Professional reliability matters. When you hand someone your business card at a conference, the QR code must scan on the first try. There is no second chance to make a first impression. Level H maximizes the probability of a successful scan.
  4. The size tradeoff is minimal. For LinkedIn URLs, the difference between Level L and Level H is only a few extra modules. At our 1024x1024 pixel output resolution, this has no visible impact on the code's appearance or scannability.

If you have ever had a QR code fail to scan at an important moment, you understand why we chose maximum error correction. The slight increase in code density is a small price for guaranteed reliability.

Testing Your QR Code's Error Correction

Want to verify that your QR code's error correction is working? Try this simple test: generate a QR code, print it, then deliberately cover a small portion with your thumb. If the code still scans, the error correction is doing its job. With Level H, you should be able to cover a significant portion of the code -- not just the logo area -- and still get a successful scan.

For the most reliable results, always test your QR code on multiple devices before committing to a print run. Download your code in SVG format for the highest print quality, and ensure the printed size meets the minimum requirements for your scanning distance.

Generate Your LinkedIn QR Code Now

Our generator uses Level H error correction for maximum reliability with the LinkedIn logo.

Go to Generator →