Data Matrix, or DataMatrix, was developed in the late 1980’s by Acuity CiMatrix (now Siemens) and then placed in the public domain as a royalty free, open standard in 1994 as a high-capacity, variable size, two-dimensional barcode.
It is referred to as a two-dimensional barcode because it stores data in both rows and columns (not just a single “row” of bar/space patterns). Each row is comprised of a fixed number of individual black or white squares called modules. Unlike linear barcodes (like Code 39 and UPC), where data is encoded using sets of varying width black/white patterns, each module in a symbol represents a single bit (with black typically representing ‘1’ and white representing ‘0’).
They are almost always square, though some rectangular layouts are supported. Here are two examples:
They are easily recognizable from the “L” shaped finder pattern along two adjacent edges. This pattern is used by the decoding software to orient the barcode, as well as to detect and compensate for any skew or distortion:
The other two edges of the symbol are called the timing pattern (every other module is black/white) and is used during decoding to determine the size of the barcode:
They can vary in size from as small as 10x10 modules to as large as 144x144 modules, with the smallest storing 6 bytes of data and the largest capable of storing thousands.
Some of the key features and benefits of the symbology include:
Encoding numeric, alphanumeric, and binary data. Sophisticated data compaction techniques are used to store data in the barcode, allowing it to be very dense (i.e., storing a large amount of data in a relatively smaller area as compared to linear barcodes).
Storing very large amounts of data; theoretically as many as 3116 numeric digits, 2335 alphanumeric characters, or 1556 bytes of binary data. Practical limits are about half these numbers though.
Utilizing Reed-Solomon error correction (also known as Error Correction Codewords, or ECC). ECC is much more advanced than traditional checksums, as it is capable of not only detecting multiple errors or omissions (data that was unable to be read at all), but it can be used to correct both. With ECC, as much as 60% of the barcode can be damaged, yet all of the data can be successfully decoded.
Why use Data Matrix?
A Data Matrix scanner best lends itself to applications where high data capacity and density are required without sacrificing data integrity. It is especially well suited to applications where a very small print area is available (for example, on surgical equipment).
It is one of the most popular two-dimensional barcodes in use, supported by most handheld image datamatrix scanners and many mobile barcode scanning applications.
Who uses Data Matrix?
Data Matrix has become widely adopted in the areas of tracking and traceability. Due to its compact size, high readability and reliability, it is ideal for electronic, automotive and aerospace part component labeling. The United States of America's Electronic Industries Alliance (EIA) recommends using it for labeling small electronic components.
In the clinical setting, they have been utilized in pharmaceutical and specimen traceability, as well as the labeling of surgical equipment in Japan.
In addition, codes are used in the food packaging industry to verify product labels match product contents.
The US Department of Defense has selected Data Matrix for the mandatory item unique identification (IUID) of equipment. Items must be permanently identified with a unique code in accordance to the Military Standard 130 for asset tracking. The International Air Transport Association (IATA) plans to utilize it on all new aircraft.
How do we help developers using Data Matrix?
The Cognex Mobile Barcode Scanner SDK supports Data Matrix detection, enabling developers to gather relevant workflow and application data. You can download the SDK for free by registering on the Cognex Mobile Barcode Developer Network. In addition, the Barcode Scanner SDK supports a broad range of symbologies to meet your growing development needs.