QR code error correction, explained simply
Every QR code contains backup data alongside the real data. That redundancy is why a code still scans with a scratch across it — and why a logo in the middle does not break it.
Updated 2026-10-05 · 1 min read
The four levels
Error correction is expressed as a percentage of the code that can be lost and reconstructed. The default level is fine for clean digital use; printed codes often benefit from more.
- L — about 7% recoverable, smallest code
- M — about 15%, the usual default
- Q — about 25%, good for print
- H — about 30%, best with logos or heavy styling
The trade-off
More redundancy means more modules for the same content, so the code gets denser. That is why a heavily styled code needs to be printed larger: you are asking it to carry more backup data.
Frequently asked questions
Which level should I use for print?
Does error correction make a code harder to scan?
Can error correction fix a badly damaged code?
Keep reading
Ready to create one?
Dynamic codes are editable forever from $4/month.
Create your first dynamic QR code
Free to start. One code, editable forever, with scan tracking from the first scan.