New:Experimental free plan now live for everyonev1.6.0

Ok1Second
Menu
Guide

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?
Q, or H if you are adding a logo or heavy styling.
Does error correction make a code harder to scan?
No — it makes it more tolerant. The only downside is a denser pattern, which matters at small print sizes.
Can error correction fix a badly damaged code?
Up to a point. It recovers a proportion of missing modules, not a code that is the wrong size or has no contrast.

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.

Privacy-first analyticsNo per-scan feesEdit links anytimeNo contract