Design 2026-02-25 5 min By Cornelious Fazal

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

Quick Answer

Adding a logo to your QR code destroys part of the pattern. Error correction levels L, M, Q, and H determine how much damage a code can survive.

Why Error Correction Exists in QR Codes

A QR code printed on a physical surface will get scratched, wet, folded, partially covered, or photographed at an angle. Without a built-in recovery system, any damage to the pattern would make it permanently unreadable.

The ISO/IEC 18004 standard (the international specification that defines QR codes) built a solution into the encoding itself: Reed-Solomon error correction. This mathematical algorithm adds redundant backup data to the encoded pattern. If part of the pattern is destroyed, the algorithm reconstructs the missing data from the redundant copy.

The standard defines four levels of redundancy, each with a trade-off: more redundancy means more backup data, which means the pattern becomes denser and harder to print at small sizes.

The Four Levels Compared

LevelNameRecovery CapacityPattern DensityBest Use
LLow~7% of data can be restoredSmallest (easiest to scan)Indoor digital displays, temporary short-life campaigns
MMedium~15% of data can be restoredModerateGeneral purpose: product packaging, indoor posters
QQuartile~25% of data can be restoredHighIndustrial environments with partial code damage risk
HHigh~30% of data can be restoredDensest (hardest to print small)Outdoor print, codes with center logo overlays, high-wear environments

How Logos Consume Error Correction Capacity

Adding your brand logo to the center of a QR code is the most common use of Level H error correction, and this is exactly how it works:

When a logo image is placed over the center of the QR pattern, it physically covers and destroys a portion of the encoded modules. The Reed-Solomon algorithm treats this covered area the same as physical damage - it uses the redundant backup data to reconstruct whatever the logo is hiding.

This is why logo size matters. A logo that covers 25% of the total code area needs at least Level Q to recover it. A logo covering 28 to 30% requires Level H. If your logo covers 35% of the pattern, no error correction level can recover it - even Level H maxes out at 30%.

The practical rule: keep your center logo to a maximum of 25% of the total code area and use Level H. This gives a 5% buffer against additional real-world damage (dirt, scratches) on top of the logo coverage.

Which Level to Use for Common Scenarios

  • Digital screen display (tablet, monitor, TV): Level L - screens are not damaged and produce perfect contrast. The smaller, faster-loading pattern is ideal.
  • Indoor paper printing (no logo): Level M - provides reasonable damage tolerance for folded flyers or hand-stamped tickets.
  • Outdoor vinyl sticker or yard sign: Level H - surfaces exposed to weather, mud, and direct sun need maximum recovery capacity.
  • Any code with a center logo: Level H - mandatory. No exceptions.
  • Industrial labels in warehouses or on machinery: Level H - surfaces are exposed to oil, impact, and abrasion.

Why Level H Is the Default in Our Generator

Our Free QR Code Generator defaults to Level H for all generated codes. This is a deliberate decision. Most users downloading a QR code will print it on a physical surface, add a logo, or use it in an imperfect real-world environment. Defaulting to Level M or L would reduce the pattern density but increase scan failures for logo-overlay codes by a significant margin.

The only trade-off is that a Level H code is slightly denser than a Level L code. At any size larger than 1 inch (2.5 cm), this density difference is invisible to the human eye and irrelevant to the camera. Read our QR code print sizing guide to ensure your Level H code is always printed large enough to scan reliably.

Frequently Asked Questions

Reed-Solomon is a mathematical error-correction algorithm developed in 1960 by Irving Reed and Gustave Solomon. QR codes use it to encode redundant backup copies of the data. If part of the visual pattern is damaged or covered, the algorithm reconstructs the missing data from the surviving redundant sections.

A higher level makes the pattern denser because more redundant data is added. A denser pattern has smaller individual modules. At very small print sizes, a Level H code is harder to scan than a Level L code for the same sized image. This is why the 10:1 print sizing rule is important - print the code large enough and density is irrelevant.

Using Level H error correction, a logo can safely cover up to 25 to 30% of the total code area. Staying at 25% leaves a buffer for additional real-world damage. If your logo covers more than 30%, it will always fail to scan regardless of the error correction level selected.

No. The error correction level is encoded into the pattern at the moment of generation. The four corner squares (the large position detection patterns) and the format information strips carry the error correction level data. You must regenerate the code to change the level.

Our Free QR Code Generator defaults to Level H for all codes. This covers the most common real-world use cases: outdoor print, codes displayed on surfaces that experience wear, and any code where the user plans to add a center logo overlay.