Open QR Maker

QR Code Error Correction Levels Explained

What L, M, Q, and H mean, and which one to pick.

Last updated

QR codes use Reed-Solomon error correction, which adds extra data to the codes so that they can be read even if a portion of the pattern is dirty, scratched, or obscured by a logo.

Four Levels Of Redundancy

The four levels correspond to how much damage the code can tolerate before the scanner gives up. The percentages here come from the QR ISO/IEC standard and describe approximate codeword restoration capacity, not a literal percentage of visible area you can safely cover with a logo.

Nayuki's step-by-step QR tutorial is a free walkthrough of how Reed–Solomon redundancy works.

LevelRecoveryUse case
L (Low)~7%Clean digital displays where the code will be screenshot or scanned from a screen.
M (Medium)~15%Default for most printed material. Survives mild wear and small smudges.
Q (Quartile)~25%Outdoor signage, packaging that gets handled, codes printed on rough surfaces.
H (High)~30%Codes with a logo overlay or codes that need to survive serious damage.

The Redundancy Cost

A higher level allocates more data to redundancy and less to content. At a fixed QR version, moving from L to H roughly halves the alphanumeric capacity. Encoding the same content at a higher level can require a larger grid with smaller modules at the same physical size.

The numbers below are alphanumeric capacity at QR version 10 (about 57×57 modules). The QR Code Wikipedia article has the full capacity table for every version and mode.

LevelCharactersDrop vs L
L395
M311−21%
Q221−44%
H174−56%
Alphanumeric capacity at QR version 10

When to Choose Which Level

Open QR Maker defaults to M. It balances capacity with protection against limited wear or damage on printed material.

  • Pick L if your content is long and the code will only ever be scanned from a screen. The shorter the redundancy, the smaller the code.
  • Pick M for printed material such as receipts, business cards, menus, and pamphlets.
  • Pick Q if the code will be outdoors, or packaging that gets handled, or printed on a rough surface where individual modules might smudge.
  • Pick H only if you need to survive significant damage, or if you want to overlay a logo. The logo physically covers part of the code, and H gives the scanner enough redundancy to read around it.