A single-module-wide alternating dark-and-light track running horizontally and vertically between the finder patterns, giving the scanner a ruler for measuring module pitch and symbol density.
The timing pattern is one of the quiet workhorses of the QR code symbol: two thin tracks of alternating dark and light modules that run the full width and height of the code, threading between the finder patterns. The horizontal track sits in the sixth row of the module grid and the vertical track in the sixth column, each beginning with a dark module adjacent to a finder pattern and alternating dark, light, dark, light all the way across.
Why the scanner needs a ruler
When a camera captures a QR code, the image is distorted by perspective: the code may be photographed at an angle, at an unknown distance, and at an unknown rotation. Before the decoder can read a single data bit, it must answer a deceptively hard question — exactly how wide is one module in this particular image, and how many modules wide is the symbol?
The timing pattern answers both questions at once. Because its dark-light alternation is perfectly regular — one module dark, one module light — the decoder can count the alternations along each track and derive two critical facts: the number of modules per row/column (which reveals the QR version) and the pixel width of a single module (which calibrates all subsequent sampling). Without this calibration track, the decoder would have to guess the module grid from the finder patterns alone, which is far less reliable under perspective distortion.
Relationship to version sizing
The length of the timing track grows with the QR version. In a Version 1 symbol (21 modules per side), the horizontal timing track spans the modules between the two top finder patterns; in a Version 40 symbol (177 modules per side), it spans a much longer run. Because the number of alternations is directly tied to the symbol size, the timing pattern acts as a redundant cross-check on the version information: the decoder can verify that the version implied by the timing track matches the version information blocks (present in Version 7 and above) and the format data. This redundancy is one reason QR codes remain decodable even when parts of the symbol are damaged.
Functional patterns are never masked
Timing pattern modules are functional patterns, not data modules. They are excluded from data masking (the XOR step applied to data and error-correction modules) and carry no user payload. Their fixed, predictable appearance is precisely what makes them useful as a calibration reference. When you enable "rounded dots" or artistic styling in a QR generator, a well-built encoder leaves the timing tracks — like the finder patterns — geometrically intact, because distorting them degrades the decoder's ability to establish the module grid.
Practical implications for print
Timing patterns are thin — one module wide — which makes them the first casualty of poor print quality. Ink spread (dot gain) on absorbent paper can cause adjacent dark modules to bleed together, and low-resolution printing can blur the alternation into a gray smear. If your printed QR code scans inconsistently, examine the timing tracks under magnification: they should resolve as crisp, evenly spaced stripes. The minimum module widths in the print-size guidance exist largely to keep these one-module features optically distinct.
Diagram description: Zoomed QR code excerpt showing the horizontal and vertical timing tracks as alternating dark/light single-module stripes between two finder patterns, with an arrow indicating how the decoder counts alternations to derive module width.
