
QR Code Error Correction: Why Damaged Codes Still Scan
A QR code with a scratch across it, a logo in the middle or a corner folded over can still open the right page. That is not luck. The format carries redundant data, and the scanner uses it to reconstruct the parts it cannot read.
The Text QR Generator lets you choose how much of that redundancy to include. The choice affects both capacity and how much damage the code can survive.
Quick answer
QR codes offer four error-correction levels: L, M, Q and H, which can recover roughly 7, 15, 25 and 30 per cent of the code’s codewords. A higher level adds more redundancy, so the same amount of text needs a larger and denser pattern. Use H for printed, outdoor or logo-bearing codes, and a lower level only for clean digital display.
Redundancy, not a backup copy
The data in a QR code is arranged in codewords, and the encoder adds extra codewords calculated from the originals using Reed-Solomon error correction. The scanner uses those extra values to detect and repair errors. It is not a second copy of the message, but information that lets the decoder recover the original within a limit.
That limit is why a code can survive a smudge but not a missing half. Damage that affects more codewords than the chosen level can repair will make the code unreadable, even if plenty of the pattern is still visible.
The four levels
Level L is the lightest, with about 7 per cent recovery capacity. M raises it to about 15 per cent, Q to about 25 per cent and H to about 30 per cent. The exact amount depends on the version and the damage, so treat these as design guides.
Raising the level has a direct cost. At the same version, less space remains for the actual message. Keeping the same message at H may require a larger version, which means more modules and a finer print. For a small card, that can make the code harder to scan even as its theoretical resilience improves.
Choosing a level
Use H when the code will be printed on packaging, exposed outdoors, laminated, or covered by a logo. The extra redundancy is worth the larger pattern, and a logo placed over the centre removes codewords that the correction data can help reconstruct. Q is a reasonable middle ground for general print work.
M or L can be enough for a code displayed on a clean screen, where scratches and glare are unlikely. Do not choose a low level simply to cram a long URL into a small space; shortening the address is the better fix, because a low-redundancy code is also less forgiving of a cheap printer.
What it cannot fix
Error correction repairs missing or misread codewords. It does not verify that the destination is honest, and it cannot tell whether the code was replaced by another valid code. A sticker placed over a restaurant menu can contain a perfectly encoded URL that leads somewhere else. The scanner’s job is to read the payload, not to vouch for it.
The finder patterns in three corners are especially important. If they are cut off or covered, the scanner may not find the code, however much redundancy the data area carries.
Generate the code with the Text QR Generator and print a proof before the full run. For the full guide, read What Can You Put in a Text QR Code?. If length is your constraint, see How Much Text Fits in a QR Code?.
Common questions
What do the error-correction levels L, M, Q and H mean?
They describe how much redundant data the code carries. L can recover roughly 7 per cent of codewords, M about 15 per cent, Q about 25 per cent and H about 30 per cent. The exact result depends on the version and the distribution of the damage.
Does a higher error-correction level always make a QR code better?
No. Higher levels add redundancy but leave less room for the message, so the code may need a larger version and a finer print for the same text. Use H for harsh conditions, logos or outdoor signs, and a lower level for clean digital display.
Can error correction repair a code with a logo over the middle?
Only within the chosen level and only if the logo does not cover the corner finder patterns. Keep the logo small, use level H where possible, and scan the finished artwork rather than assuming the correction data will cope.
