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
| Level | Name | Recovery Capacity | Pattern Density | Best Use |
|---|---|---|---|---|
| L | Low | ~7% of data can be restored | Smallest (easiest to scan) | Indoor digital displays, temporary short-life campaigns |
| M | Medium | ~15% of data can be restored | Moderate | General purpose: product packaging, indoor posters |
| Q | Quartile | ~25% of data can be restored | High | Industrial environments with partial code damage risk |
| H | High | ~30% of data can be restored | Densest (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.