Skip to content

Technology · Error Correction

Error-correction levels

The Quick Response Code specifies four error-correction levels — L, M, Q, and H — selected when a symbol is generated and recorded in the symbol's format information.


The four levels

Specified maximum recoverable damage by level.
LevelNameRecoverable codewords
LLow≈ 7%
MMedium≈ 15%
QQuartile≈ 25%
HHigh≈ 30%

Trade-off

Higher error-correction levels consume more codewords for parity, reducing the symbol's available payload capacity at any given version. The choice of level is therefore a deployment decision: factory and outdoor applications typically select Q or H to absorb partial damage and contamination; clean print or screen-display applications often select L or M to maximize payload.

Implementation

Error correction is implemented as a Reed–Solomon code over the Galois field GF(28), producing parity codewords appended to the data codewords. The Reed–Solomon mathematics are documented under Reed–Solomon coding.

Cited references

  1. ISO/IEC 18004:2015, §7.5 Error correction.
  2. I. S. Reed and G. Solomon, Polynomial Codes over Certain Finite Fields, 1960.