Glossary · updated October 29, 2026

QR code error correction, level by level.

QR code error correction is the spare data, Reed-Solomon code, built into every QR code so it still scans when part of it is dirty, damaged or covered. There are four levels: L restores about 7% of the code, M 15%, Q 25% and H 30%. Higher levels add squares, so the same content makes a denser code.

Make your free cardA free Apple Wallet business card, in about a minute

Level M: 29×29, restores about 15%
The levels
L about 7%, M about 15%, Q about 25%, H about 30% of codewords restored, per DENSO WAVE, the QR code’s inventor.
The usual choice
“Typically, Level M (15%) is most frequently selected,” says DENSO WAVE. The codes on this site use M.
The standard
ISO/IEC 18004:2024, the QR code specification.
QR error correction levels compared

The same link, drawn four times.

Each code below holds cardr.co/how-it-works and was generated on this page. Only the error correction level changes.

  • Level L Restores about 7%
    Grid
    25×25
    Version
    2
  • Level M Restores about 15%
    Grid
    29×29
    Version
    3
  • Level Q Restores about 25%
    Grid
    29×29
    Version
    3
  • Level H Restores about 30%
    Grid
    33×33
    Version
    4
Generated live with the library behind Cardr’s passes. From L to H the grid grows from 25×25 to 33×33, so at one printed size each square shrinks by about 24%.
Which error correction level to use

Which level for what.

More correction costs size. The right level is the lowest one that survives where the code will live.

Choosing an error correction level
LevelRestores aboutGood for
L 7% Clean screens and long content that must stay small
M 15% Business cards, printed and on phones; the usual default
Q 25% Codes that get handled, scuffed or printed on rough stock
H 30% Codes with a logo laid over the middle, and dirty places such as factories

Restoration rates from DENSO WAVE’s table, read October 29, 2026. A logo in the middle spends the spare data on purpose, so it needs a high level.

How QR error correction works

Twice the spare, for each word repaired.

The data in a QR code is split into codewords of 8 bits. Error correction adds Reed-Solomon codewords, and repairing one damaged codeword takes two of them. DENSO WAVE’s own example: to make 50 of 100 data codewords recoverable takes 100 Reed-Solomon codewords, so 50 of the 200 total, 25%, can be restored.

The percentages are of codewords, which is why they are approximate when you think in terms of area: a scratch across the finder squares in the corners can stop a scan even at H, because the camera has to find the code before it can correct it.

  • Level L · version 2, 25×2510 repair
  • Level M · version 3, 29×2926 repair
  • Level Q · version 3, 29×2936 repair
  • Level H · version 4, 33×3364 repair
  • Data
  • Repair
One link, four levels
Sources

Where these facts come from.

Primary documents only: the standard, the platform’s own documentation or the chip maker’s datasheet. Each was read on October 29, 2026.

  • DENSO WAVE (the QR code’s inventor): Error Correction Feature: approximately 7% (L), 15% (M), 25% (Q) and 30% (H) of codewords restored, by Reed-Solomon code; “Typically, Level M (15%) is most frequently selected.”
    www.qrcode.com/en/about/error_correction.htmlRead October 29, 2026
  • ISO/IEC 18004:2024, QR code bar code symbology specification: the international standard for QR codes, including error correction (the full text is sold by ISO)
    www.iso.org/standard/83389.htmlRead October 29, 2026
Questions

Common questions.

What error correction level should I use for a business card?

M. It survives normal handling and keeps the grid small enough to print at card size. Use Q or H only if you put a logo in the middle.

Does higher error correction make a QR code harder to scan?

It makes the grid denser, so at the same printed size each square is smaller and the code needs a closer, sharper camera. Correction helps with damage, not with size.

Can I put a logo in a QR code?

Yes, if the level is high enough to rebuild what the logo covers. H is the usual choice, and the logo should stay well inside 30%, clear of the three corner squares.

How do I check a code’s error correction level?

The level is written into the code’s format information next to the corner squares, and most scanner apps that show technical details report it. Generators let you choose it before you download.

Get started

A code that scans in a dim room.

Your Cardr QR holds one short address at level M, so it stays coarse and quick to scan on a phone screen or a printed card. Free forever.

Create my free card