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.
Related
- Reed–Solomon coding — Reed–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…
- Version — A 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 capacity — Data 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…