Karuvii LogoKaruvii
Back to Insights
•8 min read

QR Code Error Correction Explained: Reed-Solomon Algorithms & Density Trade-Offs

What is Reed-Solomon Error Correction?

Quick Response (QR) codes are built to function in adverse real-world conditions—scratched posters, crumpled tickets, or partially obscured camera angles. To maintain readability despite physical degradation, the ISO/IEC 18004 specification utilizes Reed-Solomon error correction, a non-binary cyclic error-correcting code invented by Irving S. Reed and Gustave Solomon in 1960.

Rather than merely detecting corruption (like simple parity checks or cyclic redundancy checks), Reed-Solomon codes generate deliberate mathematical redundancy polynomials that allow scanners to reconstruct damaged symbol words in the Galois Field GF(2^8).

The Four Error Correction Levels

The standard defines four selectable levels of recovery capability, each offering a calibrated trade-off between fault tolerance and data capacity:

  • Level L (Low): Recovers up to 7% of damaged codewords. Level L produces the least dense matrix with the largest physical modules (pixels), ideal for clean environments like high-resolution digital displays or screen-to-screen communication.
  • Level M (Medium): Recovers up to 15% of damaged codewords. This is the industrial default across logistics, consumer electronics packaging, and general signage, providing solid durability without bloating code size.
  • Level Q (Quartile): Recovers up to 25% of damaged codewords. Frequently specified for outdoor posters, public transit tickets, or industrial machinery tags subject to heavy abrasion or dust.
  • Level H (High): Recovers up to 30% of damaged codewords. Essential when embedding corporate logos, icons, or design aesthetics directly into the center of the QR matrix.

High-Fidelity QR Code Generator

Generate ISO-compliant QR codes with selectable error correction levels directly on Karuvigal.

Open QR Code Studio on Karuvigal

How Codewords are Interleaved

In high-capacity QR codes (Version 2 and higher), data and error correction words are organized into distinct blocks and interleaved. This technique ensures that contiguous physical damage—such as a tear or scratch across the center of the print—destroys only a few codewords across multiple blocks rather than completely obliterating an entire block beyond recovery.

The Density vs Reliability Trade-Off

As you increase the error correction level from L to H, the number of required error correction codewords surges. To accommodate these additional parity bytes, the QR encoder must increase the symbol Version (from Version 1 at 21x21 modules up to Version 40 at 177x177 modules). A higher version demands smaller individual module sizes when printed in a fixed physical area, making the code harder for low-resolution smartphone cameras to focus on from a distance. System architects must calibrate error correction against expected scanning distances.

QR Code Studio

Create ISO-compliant QR codes with advanced error correction on Karuvigal.

Open Karuvigal