Dissect a real QR code

How QR Codes Work: Interactive Anatomy

Not a diagram - the code below comes from a real encoder. Light up each zone and see what every module does.

The QRDIV QR code anatomy page generates a QR code with a real encoder and highlights each functional zone - finder, separator, timing and alignment patterns, format and version info, the dark module, and the data and error correction region - then explains in four steps how content becomes a scannable code, entirely in your browser.

01

Zone by zone · a real code, dissected

Hover or click the legend to highlight a zone; switch versions to watch the structure grow

Version (size)
V1 has no alignment pattern, V2 gains one, and V7 adds version info blocks - flip through to see

Hover a legend item for its explanation; click to pin the highlight

02

From content to code in four steps

Every QR code is built the same way. Understand these four steps and capacity, error correction and versions all click into place.

1Encode to a bit streamContent is converted to binary in numeric, alphanumeric or byte mode - the tighter the mode, the fewer modules the same content needs.
2Append error correctionReed-Solomon codewords are computed and appended. Higher levels append more, surviving more damage.
3Place into the matrixThe bit stream fills the data region in a zigzag from the bottom-right, after the function patterns have claimed their fixed spots.
4Apply a maskOne of eight mask templates is chosen to balance dark and light modules, preventing large same-color areas from confusing scanners.
A quiet zone - the blank margin around the code - is also required: it is not part of the code itself, but if it is crowded the scanner may fail to find the boundary. That is why every generator enforces it.
FAQ

Frequently asked questions

They are finder patterns. The scanner locates these three bullseyes first to determine the code position, orientation and scale, which is why scans work at any angle. The fourth corner has none - alignment and timing patterns cover for it.