Spec & internals
QR code anatomy — every region of the symbol
A QR code has three 7×7 finder patterns for location, timing and alignment patterns for grid calibration, 15 bits of format information stored twice, version information from version 7 up, and a data-plus-error-correction region — all surrounded by a 4-module quiet zone.
The map
Every QR code, from version 1 (21 × 21 modules) to version 40 (177 × 177), is built from the same regions. Some are function patterns — fixed geometry the decoder uses to find and sample the symbol. The rest carry your data.
| Region | Where | Size | Protected by Reed–Solomon? |
|---|---|---|---|
| Finder patterns | Three corners | 7 × 7 each | No |
| Separators | Around each finder | 1 module wide | No |
| Timing patterns | Row 6 and column 6 | 1 module wide | No |
| Alignment patterns | Spread across the grid (v2+) | 5 × 5 each | No |
| Format information | Beside the finders | 15 bits, stored twice | Own BCH code |
| Version information | Near two finders (v7+) | 18 bits, stored twice | Own BCH code |
| Dark module | Fixed cell beside bottom-left finder | 1 module | No |
| Data + error correction | Everything else | Varies by version | Yes |
| Quiet zone | Outside the symbol | ≥ 4 modules per side | No |
Function patterns
The three finder patterns are what a scanner locates first: concentric squares whose scan-line signature is the same from any angle. Each is wrapped in a one-module light separator so it never merges with data.
The timing patterns — alternating dark and light modules along row 6 and column 6 — give the decoder a ruler for module coordinates. From version 2 up, alignment patterns (5 × 5) anchor the sampling grid against lens distortion and print curvature; version 40 has 46 of them.
Metadata regions
Format information is 15 bits — error-correction level, mask pattern, and its own BCH error correction — written twice, because nothing else can be read without it. From version 7, version information adds an 18-bit, BCH-protected declaration of the symbol size, also written twice. One module, the dark module, sits permanently dark beside the bottom-left finder at row 4 × version + 9, column 8.
The data region
Everything not claimed above holds data and Reed–Solomon codewords, placed in two-module-wide columns zig-zagging up and down from the bottom-right corner. This is the only region the error-correction level protects — which is why a logo belongs in the middle, never on a corner. See how logos work without breaking a code.
The quiet zone
The quiet zone is a border of background colour, at least 4 modules on every side, that the standard counts as part of the symbol. Crowd it and the finder patterns stop being findable — the most common self-inflicted failure in the not-scanning checklist.
How much of a QR code is overhead
For version 1, the fixed regions add up precisely:
| Region | Modules |
|---|---|
| 3 finder patterns | 147 |
| 3 separators | 45 |
| 2 timing patterns | 10 |
| Format information (2 copies) | 30 |
| Dark module | 1 |
| Total overhead | 233 of 441 (53%) |
That leaves 208 modules — exactly 26 codewords — for data and error correction. As versions grow the overhead share falls, which is one reason longer payloads are proportionally more efficient.
Knowing the map tells you where styling is safe: the data region tolerates damage up to the error-correction budget; the function patterns and quiet zone tolerate none. When in doubt, verify the rendered code decodes.
FAQ
What are the three big squares in a QR code?
Finder patterns. They are 7 × 7 concentric squares in three corners that let a scanner locate the code and work out its orientation from any rotation. Covering any one of them usually makes the code unscannable, regardless of error-correction level.
What is the small square inside a QR code?
An alignment pattern — a 5 × 5 square that anchors the decoder's sampling grid against distortion. Version 1 has none, version 2 has one, and the count grows to 46 by version 40.
Which parts of a QR code can be damaged safely?
Only the data region, up to the error-correction budget of roughly 7–30% depending on level. Finder patterns, timing patterns, format information and the quiet zone are not protected by Reed–Solomon error correction.
What is the border around a QR code called?
The quiet zone — a margin of background colour at least 4 modules wide on every side. It is part of the specification, not decoration, and removing it is a common reason codes fail to scan.
Try it — free, no signup
Related
- Finder patterns — how a scanner locates a QR code — The three 7×7 corner squares produce a 1:1:3:1:1 dark-light signature on any scan line through their centre, which is what makes QR codes rotation-proof.
- Timing patterns — the ruler inside every QR code — The alternating dark-light lines in row 6 and column 6 tell a decoder the module pitch and count, so it can place its sampling grid before reading data.
- Format information — the 15 bits everything depends on — Format information encodes the EC level and mask in 5 bits, protects them with BCH(15,5), XORs with a fixed mask, and is written twice beside the finders.
- QR code versions 1 to 40 — sizes, capacity and how to choose — Versions run from 21×21 to 177×177 modules, growing 4 per step. The right version is the smallest that fits your payload at your error-correction level.
- QR code version and module count table — Every QR version's module count follows one formula: 17 + 4 × version. Version 1 is 21 × 21 modules and version 40 is 177 × 177. This table lists all…