Barcode in Detail: A Look at the DataMatrix Code

You probably know the feeling that the whole world seems to function on the basis of barcodes. Whether in everyday or industrial settings – on the packaging of cosmetics and medicines, on the digital ticket for an art exhibition, on individual components or products of a company, and so on. – Barcodes are used in a wide range of applications and are spreading rapidly.

While most of us may be more familiar with the “QR Code”, another code called “DataMatrix Code” is also one of the important 2D codes. Unlike the QR code, the DataMatrix code is primarily used in industry rather than in personal life. This type of 2D barcode provides a very high density of information in a very small area. This saves an enormous amount of space when encoding and transmitting data. It has low requirements for contrast and print quality and is not very error-prone, because the code can still be decoded even if it is heavily damaged (up to 25%).

In this article, we will focus on the DataMatrix code. You will learn what a DataMatrix code is, what elements it is composed of, what factors can determine the size and quality of a code, and finally, what industrial applications the DataMatrix code has.

Composition of a DataMatrix Code

The DataMatrix code is – as everywhere in computer science – a binary code, which is interpreted only with zeros and ones. Each small white and black data cell in a code – or officially “module” – is an element that is either a “0” or a “1”. Depending on the color of the background on which a DataMatrix code is located, the following assignments apply:

Black pixel fields on a white background: black = 1; white = 0
White pixel fields on black background: black = 0; white = 1

In this form, corresponding data contents come together coded in small modules in rows and columns. If we observe the concrete composition of a single DataMatrix code, arranged in a square or rectangular form, it always consists of four (or, in the case of co-dations with higher data volumes, five) components: Finder Pattern, Alternating Pat-tern, Data Region, Quiet Zone (and Alignment Pattern). Each of these components has corresponding functions. The following table describes the properties and functions of each of these components.

Component Representation Property Function
Finder Pattern

defines position and size; for rectangular codes the number of cells is different
serves to locate the data matrix code in any rotation; distortions are detected
Alternating Pattern

the number of modules is even; the modules are alternately b/w; used to determine the data density
for symbol size detection and ECC200 type detection
Data Region

contains the entire data content and the bytes for error correction
Data representation
Alignment Pattern

Depending on the data capacity and symbol format, the DataMatrix code is divided into 1, 2, 4, 16 or 36 ranges.
divides symbols with high data capacity into individual regions
Quiet Zone

defines area around the DataMatrix code in which there should be no interferences; at least one module wide
serves for easier localization of the coding

Size of a DataMatrix code

As far as the “size” of a DataMatrix code is concerned, two concepts can be observed. The first is the symbol size already mentioned above. This is the amount of data content within a DataMatrix code. Symbol size indicates how many modules there are in a row and in a column, as well as how many rows and columns there are in a DataMatrix code. This in turn depends on the data capacity (that is the number of lines to be encoded): The larger the data capacity of a DataMatrix code, the larger the symbol size. The table below shows how many characters certain symbol sizes allow.

The second size of the DataMatrix code concerns the physical size. The edge length of the code results not only from the symbol size, but also from the size of an individual module. The possible module sizes are again specified by the coding system. When selecting the module size for a DataMatrix code, several factors come into play: One is the printer’s print resolution. For example, a printer with a 600 dpi resolution corresponds to a dot size of ~ 0.042 mm, a 300 dpi printer to a dot size of ~ 0.085 mm, and so on. Otherwise, the module size still depends on the optical reading distance of the existing reading devices (scanners), regardless of whether they are stationary or hand-held.

SymbolgrößeMax. numerische Zeichen
max. alpha-numerische Zeichen
10 * 1063
12 * 12106
14 * 141610
16 * 162416
18 * 183625
20 * 204431
22 * 226043
24 * 247252
26 * 268864
32 * 3212491
36 * 36172127
40 * 40228169
44 * 44288214
48 * 48348259
52 * 52408304

Symbol quality of a DataMatrix code

There are two important quality standards for DataMatrix codes: ISO/IEC 15415 and AIM-DPM-1-2006. Here we take the first standard as an example and show which characteristics can influence the quality of a DataMatrix code. According to ISO/IEC 15415, there are four relevant properties of a DataMatrix code: the symbol contrast, the print gain, the axial non-linearity and the unused error correction.

Symbol contrast

This value indicates the color contrast between the symbol (practically the dark modules) and the background. The higher the contrast, the easier it is for the scanner to identify the object (the DataMatrix code) – very similar to everyday photography. However, it is also possible that a DataMatrix code is actually overexposed or underexposed with excellent symbol contrast. In this case, the symbol contrast is low and the symbol quality is unsatisfactory.

overexposed and original DataMatrix code

Print growth

Print growth is the ratio of black modules to white modules: either the black modules are too small or too large. Both cases lead to poor code quality. If the dark cells are too small in relation to the white ones, the print increment is considered negative; if too large, it is positive.


Different black/white ratios.

Axial nonlinearity

This characteristic indicates whether there is compression or expansion of the individual axes in the DataMatrix code. Here it is quite similar to the case of the symbol contrast: The quality of the code can be strongly changed by environmental influences.

For example, the angle of the reading system to the object is decisive. Imagine, for example, that a DataMatrix code was photographed at an angle. On the photo, of course, the code is no longer a square, but some other rectangular shape, which must be converted back to a square by the barcode scanner through perspective distortion.

Unused error correction

The last quality characteristic indicates whether and to what extent the data content is destroyed. The stronger, the lower quality and harder the task of data reconstruction. This characteristic can be influenced by the environment faster than all other characteristics. Thus, before applying the DataMatrix code, it is necessary to pay attention to the quality of the component surface, so that it does not have milling marks, oils, unevenness, etc.

Industrial application of the DataMatrix code

In practice, every industrial DataMatrix code application is an identification (and thus assignment) of the component or product. This direct identification is the only reliable way for companies to fully trace the individual components or products on their long journey between manufacture, sale and dispatch, even across national borders.

In most cases, a unique number (e.g. serial number, article number, etc.) is stored in the DataMatrix code, which is then written to a central database at the company. All the information behind this number is related to the database, which ensures that employees have quick access to all component data. The DataMatrix code is particularly advantageous in this case, compared to other barcodes, because it has an enormous data capacity.
If DataMatrix codes are applied to components, special attention must be paid to the choice of barcode scanner. Not every device on the market is equally suitable for scanning DataMatrix codes on metallic surfaces. Basically, the more interference that can occur in the environment and on the marking surface, the higher the quality and more flexible the reader should be.

Readers can also be divided into two categories: All-in-one devices and PC-based devices. In both categories, there are again stationary as well as mobile devices. These different scanners each have their advantages and disadvantages in terms of performance, lighting, interfaces, and so on. So depending on your specific application scenario and scanning needs, you have different options for purchasing a DataMatrix code reader. With the Scoria M240, for example, WEROCK has such an all-in-one device in its portfolio. With it, codes can be read from a distance of up to 80 cm and further processed directly in the device thanks to the Android 11 operating system. Thanks to the integrated dual-SIM 4G, you also have seamless access to all relevant company data while on the move.

Scroll to Top
WordPress Cookie Plugin by Real Cookie Banner