How QR Codes Still Work When Partly Damaged
QR Codes add Reed-Solomon error-correction codewords so a decoder can reconstruct some corrupted or missing data. Four levels trade capacity for resilience, from roughly 7 percent at level L to roughly 30 percent at level H. Those figures describe correctable codewords rather than a guaranteed damaged surface area…
Timeline
- 1994-01-01: DENSO WAVE developed the QR Code for high-speed industrial scanning.
- 2000-06-01: QR Code was approved as the ISO/IEC 18004 international standard.
- 2024-08-01: ISO published the fourth edition, ISO/IEC 18004:2024.
- 2026-10-12: Current ISO and DENSO WAVE technical guidance was reviewed for this guide.
A QR Code can survive some dirt or damage because it stores redundant error-correction information alongside the encoded payload. The decoder samples the grid of black and white modules, interprets the symbol's control information and uses Reed-Solomon error correction to reconstruct codewords that were read incorrectly or not at all. The feature is mathematical redundancy, not an ability to infer any missing message. Once corruption exceeds the available correction or prevents the symbol from being located, decoding fails. [1][2]
Standard QR Codes offer four error-correction levels. DENSO WAVE lists approximate restoration capacities of 7 percent of codewords for L, 15 percent for M, 25 percent for Q and 30 percent for H. A higher level adds more recovery data, leaving less room for the payload at a given symbol version. An encoder may therefore need a larger grid to hold the same text at level H than at level L. Level M is common, while harsher environments may justify Q or H. [2][3]
The percentages are often misunderstood as permission to cover the same percentage of the image. They refer to correctable codewords across the encoded symbol, and DENSO WAVE warns that restoration depends on the amount and pattern of damage. A scratch spread across many codewords can behave differently from one compact stain. Damage to structural or control areas can stop the reader before payload correction begins. Generators and scanners also vary, so a successful test on one phone is not a guarantee for every device or print run. [2][4]
Three large finder patterns near the corners let a scanner locate the symbol and determine its orientation. Timing patterns establish the module grid, while alignment patterns in larger versions help compensate for perspective and surface distortion. Format information identifies the error-correction level and mask pattern, and version information appears in larger symbols. These features explain why QR Codes can be read at different rotations and angles, but they also create areas where a logo, fold or low contrast can be disproportionately harmful. [1][3]
A version describes the grid size: Version 1 is 21 by 21 modules, and each step adds four modules per side until Version 40 reaches 177 by 177. Capacity depends on version, data mode and error-correction level. More characters, less efficient character encoding or stronger correction can increase the required version. Packing a long URL into a small physical square produces tiny modules that a camera may not resolve, even though the digital file is formally valid. Shortening the payload can improve practical reliability. [1][3]
Printing and display quality matter as much as correction level. DENSO WAVE specifies a clear quiet zone four modules wide around a standard QR Code. Uneven resizing can distort modules, surrounding graphics can invade the margin, glare can erase contrast and low-resolution printing can merge neighboring squares. Preserve the square geometry, use strong light-dark contrast, size modules for the expected viewing distance and test the final physical material rather than only the design file on a monitor. [4]
Placing a logo in the center is a deliberate erasure, not a special QR feature. Error correction may compensate when the covered modules and all other defects remain within the symbol's margin, but the safe logo size depends on version, level, placement, payload and scanning conditions. Do not cover finder or alignment patterns, and do not rely on a headline percentage as a design template. For tickets, payments, access control or safety information, keep an unmodified code and a human-readable fallback available. [2][3][4]
For dependable use, choose the shortest practical payload, select correction for the real environment, generate a standards-compliant symbol and preserve its quiet zone. Test multiple representative phones and scanners at realistic sizes, distances, lighting and damage conditions, then repeat after printing or exporting. ISO/IEC 18004 defines symbol formats, encoding, dimensions, error correction and reference decoding, but compliance does not remove every camera or production constraint. Error correction provides measured resilience; good layout and verification keep it from being consumed by avoidable design damage. [1][2][3][4]
Sources
- ISO — ISO/IEC 18004:2024 QR code bar code symbology specification
- DENSO WAVE QRcode.com — Error Correction Feature
- DENSO WAVE QRcode.com — Information capacity and versions of QR Code
- DENSO WAVE QRcode.com — QR Code printing guidance and reading problems