A Data Matrix code stores data in a grid of square cells called modules. A dark module and a light module each stand for one bit. Because the data runs in both directions, a Data Matrix holds far more than a 1D barcode in the same space, which is why it fits on small parts, vials and medicine packs.
Every symbol has four parts:
- Finder pattern: a solid L-shaped border on two adjacent sides. The scanner uses it to find the code and work out its orientation.
- Clock track: alternating dark and light modules on the two opposite sides. It tells the decoder how many rows and columns the symbol has and how big each module is.
- Data region: the modules inside the border that carry the encoded data and the Reed-Solomon error correction codewords. Larger symbols split it into several regions separated by alignment patterns.
- Quiet zone: a blank margin at least one module wide on all four sides that separates the code from the rest of the label.
The error correction lets a reader rebuild data from a symbol that is scratched, partly covered or badly printed. barKoder goes further with MatrixSight®, which reads codes with a missing finder pattern or clock track.