Denso Wave invented the QR (Quick Response) code in 1994 to track vehicles and parts on automotive assembly lines. A QR code stores data in a square grid of dark and light modules. Because it holds data in two directions, it carries far more than a 1D barcode in the same space, and any phone camera can read it.
Every QR code has these parts:
-
Finder patterns: three large squares in the corners. The scanner uses them to find the code and work out its size and rotation.
-
Timing patterns: rows of alternating dark and light modules between the finder patterns. They give the decoder the module grid.
-
Alignment patterns: smaller squares that help the decoder correct distortion in larger symbols.
-
Format and version information: the error correction level, the data mask and, in larger symbols, the version.
-
Data and error correction: the remaining modules, masked so dark and light are evenly balanced.
-
Quiet zone: a blank margin on all four sides.
The Reed-Solomon error correction lets a reader rebuild data from a scratched, dirty or partly covered code. Higher levels recover more but need a larger symbol for the same data. QR codes can be read in any rotation, and the standard allows light-on-dark and mirror-image symbols.