How a QR code recovers missing information

A QR code is more than a grid of black and white squares. Its data is encoded in groups of bits, then supplemented with extra information that a scanner can use to reconstruct some bits it cannot read. QR codes use Reed–Solomon error correction, a mathematical method that adds this recoverable redundancy.

When part of a code is scratched, smudged, or covered, the scanner compares the readable data with that redundancy and works out the most likely original values. The extra information is built into the code when it is created; the scanner is not guessing from the surrounding image alone.

Why “30% covered” is not a guarantee

QR codes offer several error-correction levels. The highest is commonly described as allowing recovery of roughly 30% of the encoded data, but that does not mean any 30% of the visible square can be hidden. The limit concerns damaged data, and the result depends on where the damage falls and how much redundancy the particular code contains.

A QR code also needs its distinctive corner markers and other structural features to be located and aligned. If those are obscured, a scanner may struggle to find or orient the code even when much of its data remains intact. A large blank patch over data modules may be recoverable; damage to a key positioning feature can be more disruptive.

The tradeoff behind a tougher code

More error correction makes a code more resilient, but it uses space that could otherwise hold information. A code set to withstand more damage may therefore need to be denser for the same message, making its tiny modules harder to distinguish at a distance or in poor print quality.

That is why a QR code can keep working after a logo or blemish covers part of it, yet still fail if the damage hits the wrong place. Its resilience comes from carefully placed mathematical backup—not from every square being equally expendable.