A DataMatrix code is a two-dimensional matrix bar code consisting of black and white "cells" or modules arranged in either a square or rectangular pattern. The information to be encoded can be text or numeric data. Usual data size is from a few bytes up to 1556 bytes. The length of the encoded data depends on the number of cells in the matrix. Error correction codes are often used to increase reliability: even if one or more cells are damaged so it is unreadable, the message can still be read. A DataMatrix symbol can store up to 2,335 alphanumeric characters.
Every DataMatrix is composed of two solid adjacent borders in an "L" shape (called the "finder pattern") and two other borders consisting of alternating dark and light "cells" or modules (called the "timing pattern"). Within these borders are rows and columns of cells encoding information. The finder pattern is used to locate and orient the symbol while the timing pattern provides a count of the number of rows and columns in the symbol. As more data is encoded in the symbol, the number of cells (rows and columns) increases. Each code is unique. Symbol sizes vary from 10×10 to 144×144 in the new version ECC 200, and from 9×9 to 49×49 in the old version ECC 000 - 140.
The most popular application for DataMatrix is marking small items, due to the code’s ability to encode fifty characters in a symbol that is readable at 2 or 3 mm2. The DataMatrix is scalable, with commercial applications as small as 300 micrometres and as large as a 1 metre (3 ft) square.