Skip to content

Technology · Structure

Structure of a Quick Response Code

A Quick Response Code symbol is composed of named functional regions, each performing a specific role in the symbol's location, orientation, and decoding.


Functional regions

Position-detection patterns (finder patterns)
Three large square patterns set into three of the symbol's corners. The scanner uses them to locate and orient the symbol.
Separators
A one-module-wide light boundary surrounding each finder pattern, isolating it from neighboring data modules.
Timing patterns
Two single-module lines of alternating dark and light modules running between the finders, establishing the symbol's module coordinate system.
Alignment patterns
Smaller square patterns distributed across larger symbols, used to compensate for moderate perspective distortion when the symbol is imaged off-axis.
Format information
A 15-bit field, replicated for redundancy, encoding the error- correction level and the data-mask pattern applied to the symbol.
Version information
An 18-bit field, present in symbols of Version 7 or higher, encoding the symbol's version number.
Data and error-correction codewords
The remaining modules, organized into 8-bit codewords interleaved across the symbol and protected by Reed–Solomon error correction.
Quiet zone
A four-module margin of light modules surrounding the symbol on every side, required for reliable detection.

Module count

The number of modules along one edge of a symbol is given by the formula 17 + 4V, where V is the version number. A Version 1 symbol is therefore 21 × 21 modules; a Version 40 symbol is 177 × 177 modules. See Versions and sizes for the full table.

Cited references

  1. ISO/IEC 18004:2015, §5 Symbol structure.
  2. JIS X 0510, §5 Symbol structure.