Skip to content
UseQR

Glossary

Error correction level

Error correction level sets how much of a QR code can be damaged and still decode: L tolerates about 7%, M 15%, Q 25% and H 30%. Higher levels cost capacity, so the same data needs a bigger code.

The four levels

Level Recoverable Typical use
L ~7% Clean screens, maximum data in minimum size
M ~15% The default; most print work
Q ~25% Codes with a logo, or moderately dirty environments
H ~30% Logo-heavy designs, industrial labels, outdoor signage

The capacity trade

At version 10, byte-mode capacity drops from 271 characters at L to 174 at M, 132 at Q and 98 at H. Choosing H rather than M for the same payload typically pushes you up two or three versions — a denser code, which is harder to scan. That is the trap: raising error correction to make a code more robust can make it less scannable if you do not also increase the printed size.

The right choice

Use M by default. Use Q or H only when you are covering part of the code with a logo, or printing on something that will be scuffed, wet or faded. Never use H "just to be safe" on an already-large payload.

  • Reed–Solomon codingReed–Solomon is the error-correcting code that lets a damaged QR code still decode. It adds redundant codewords so that a decoder can reconstruct the…
  • VersionA QR code's version is its size: version 1 is 21 × 21 modules and each step adds 4 modules per side, up to version 40 at 177 × 177. The encoder picks the…
  • Data capacityData capacity is how much a QR code can hold, and it depends on three things at once: the version, the error-correction level and the encoding mode. The…