Skip to content
UseQR

Glossary

Reed–Solomon coding

Reed–Solomon is the error-correcting code that lets a damaged QR code still decode. It adds redundant codewords so that a decoder can reconstruct the original data even when part of the pattern is unreadable.

How it applies here

QR codes use Reed–Solomon over GF(256). The data is split into blocks, each gaining a number of error-correction codewords determined by the version and level. Because the scheme can correct erasures (known-missing symbols) at twice the rate of errors (wrong symbols), a decoder that can tell "this region is obscured" recovers more than one that just reads noise.

That is the technical reason a logo works: the decoder sees a clean, obviously-covered region rather than scattered bit errors.

Interleaving

Codewords from different blocks are interleaved before being placed in the matrix, so a single physical scratch spreads its damage across blocks rather than destroying one block entirely. This is why a thin scratch across a whole code is often survivable while a solid blot of the same total area may not be.

  • Error correction levelError correction level sets how much of a QR code can be damaged and still decode: L tolerates about 7%, M 15%, Q 25% and H 30%. Higher levels cost…
  • CodewordA codeword is one 8-bit byte in a QR code's data stream. Capacity tables are ultimately expressed in codewords: a version-1 code holds 26 of them, split…
  • InterleavingInterleaving is the reordering of QR code data so that consecutive codewords come from different error-correction blocks. It spreads localised physical…