QR Code Error Correction Levels Explained (L, M, Q, H)
QR codes can still scan when partly damaged thanks to built-in redundancy. Here is what the four levels mean and when to use each.
What error correction does
Every QR code stores extra, redundant data so it can be recovered even if part of the symbol is dirty, scratched or covered. The amount of redundancy is set by the error-correction level you choose.
More correction means a code that survives more damage, at the cost of a denser grid for the same content.
The four levels
- •L (Low): recovers about 7% of the code. Smallest, densest payload.
- •M (Medium): about 15% recovery. The common default.
- •Q (Quartile): about 25% recovery.
- •H (High): about 30% recovery. Most robust, but the largest grid.
When to go higher
Choose Q or H when the code will live somewhere rough: outdoor signage exposed to weather, packaging that gets handled, or, importantly, codes with a logo placed in the middle. A logo covers modules, so the code needs enough correction to read around it.
When to stay low
For a clean code printed on good stock and scanned at close range, M is plenty, and L will give you the smallest, easiest-to-scan symbol. There is no benefit to maximum correction if the code is never going to be damaged.
The size trade-off
Higher correction packs more data into the same content, producing smaller modules at a given physical size. If you bump up to H, you may also need to print the code a little larger to keep it scannable.