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
- 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.
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
Which level for what.
More correction costs size. The right level is the lowest one that survives where the code will live.
| Level | Restores about | Good 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.
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.
- Data
- Repair
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
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.
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.