Guide · Reference

QR Code Error Correction Guide

Every QR code carries spare data so it still scans when part of it is dirty, damaged or covered by a logo. That safety margin is the error-correction level. Here is what the four levels mean and when to use each.

The four levels

QR codes support four error-correction levels, each able to recover a percentage of the code if it is damaged:

  • L (Low) — recovers ~7%. Smallest, least dense code.
  • M (Medium) — recovers ~15%. The usual default and a good all-rounder.
  • Q (Quartile) — recovers ~25%. Good for slightly rough conditions.
  • H (High) — recovers ~30%. Best for logos or harsh environments.

The trade-off

Higher error correction adds redundancy, which makes the code denser (more modules) for the same data. A denser code needs to be printed a little larger to stay scannable. So do not just pick H "to be safe" — match the level to the risk.

Which level should you choose?

  • M for most everyday codes — links, Wi-Fi, posters in clean conditions.
  • Q or H for codes exposed to wear: outdoor signage, packaging that gets handled, industrial settings.
  • H whenever you place a logo in the centre — the logo covers modules, so you need the extra recovery. Our logo QR generator switches to H automatically.
Ready to make your QR code? Create it free in your browser — no signup, no watermark.
Open the generator

Frequently asked questions

What does QR error correction do?

It adds redundant data so the code still scans when part of it is dirty, damaged or covered — for example by a logo. More correction means more damage tolerance.

Which error-correction level is best?

Medium (M) suits most cases. Use High (H) when adding a logo or for codes exposed to wear, and Low (L) only when you need the smallest possible code in clean conditions.

Does higher error correction make the code bigger?

It makes the code denser for the same data, so you should print it slightly larger to keep each module scannable.