Multiple Data Matrix barcodes on medical packs.

Exploring the Data Matrix Barcode

In today’s digital age, the need for efficient and reliable data storage and retrieval systems is more crucial than ever. One such technology that has been quietly revolutionizing industries is the Data Matrix barcode. In this article, we delve into what is Data Matrix, its history, applications, scanning methods, scanning challenges, and future possibilities.

What is Data Matrix?

Different types of barcodes are called barcode symbologies. Data Matrix is a two-dimensional (2D) matrix barcode symbology consisting of black and white squares arranged in a square or rectangular pattern. Unlike traditional 1D or linear barcodes, Data Matrix can store large amounts of data in a small space, making it ideal for marking small products or items. The data encoded in a Data Matrix can include alphanumeric characters, symbols, binary data, and even entire files. Data Matrix codes include error correction and can be scanned omni-directionally.

A selection of types of barcode with Data Matrix circled in red.
Data Matrix Barcode Symbology 

The Image above is from the Viziotix  Barcode Test Card that is designed for printing and use with the demo apps.

Data Matrix History and Specifications

Developed in the 1987 by International Data Matrix, Inc. (ID Matrix), Data Matrix gained popularity in industries such as manufacturing, healthcare, and logistics due to its high data density and error correction capabilities. The International Organization for Standardization (ISO) standardized Data Matrix under the ISO/IEC 16022 standard and the code has since been widely adopted.

The label ‘2D’ refers to the fact that data is stored in 2 dimensions: both the X and Y axis (see diagram), as opposed to traditional 1D barcodes where data is only stored in one direction, the X axis. Data Matrix code is made up of an ‘L’ shaped finder pattern, a clock or timing pattern (on the opposite two sides) and, between these, the cells and spaces, “modules”, that encode the data. This is a binary code where the modules represent 1 and the spaces 0 (or vice versa). An advantage of this structure is that it allows error correction. The latest standard, ECC200 uses Reed-Solomon error correction to enable the code to be scanned even if up to 30% of the barcode is damaged. Data Matrix can encode alphanumeric data such as item numbers, serial codes, batch numbers, date codes, URLs etc. making it extremely flexible as a data carrier.

The different parts of a Data Matrix barcode including the L finder pattern, the clock or timing patters and the data module area.
Parts of the Data Matrix Barcode Symbology

Data Matrix symbols come in various module formats, from 9×9 modules to as large as 144×144 modules to accommodate different data storage needs. The smallest symbol can hold up to 1,556 binary characters, while the largest can store up to 2335 alphanumeric or 3,116 numeric characters. Further, ECC200 allows “structured append” where multiple codes can be interlinked to encode even more data. The size of a code is not just defined by the number of modules. The physical dimensions is a factor of the number of modules and the module size (sometimes referred to as the X-Dimension). Module size is not set by the specification and depends on the application and on print and scanner/ camera resolutions. Many barcode scanning devices are able to resolve modules that are 0.3mm square. Below this, some devices will fail to scan. Above this and the code will be easier to scan and the scanning distance (depth of field) will increase. This flexibility in module sizes allows Data Matrix to be used to mark miniature items in specific applications. It also allows larger module sizes to allow scanning from greater distances. As the data density is higher, Data Matrix can generally be printed in the same area as a 1D barcode but with a larger module size to provide a greater scanning distance. Replacing 1D barcodes with 2D codes such as Data matrix can therefore improve scanning performance in an application.

Data Matrix code modules can also be printed as squares or circles. The latter makes it possible to directly imprint or engrave codes onto the surface of a product or component, called “Direct Part Marking” or “DPM, using laser etch or ‘dot-peen’ stamping. This method is used on surfaces such as metal, glass and printed circuit boards. DPM ensures that the barcode remains readable throughout the product’s lifecycle, even in harsh environments where traditional labels might degrade. DPM is widely used in industries such as automotive, aerospace, and electronics for permanent traceability, asset management, and quality control.

A photo of automotive parts with a magnified Data Matrix barcode that has been stamped into metal.
A DPM Data matrix Barcode

In addition to the traditional square Data Matrix symbols, the ECC200 standard introduces rectangular versions known as Data Matrix Rectangular Extension (DMRE). DMRE expands the flexibility of Data Matrix codes by allowing them to be constructed with rectangular modules, providing for different formats and therefore extending possible applications.

DMRE is an important new part of the Data Matrix standard. Printing in a rectangular format allows the code to be more easily used to replace 1D barcodes and is better for printing along curved surfaces.

A Data Matrix barcode printed in the rectangular DMRE format on supermarket totes or trays.
DMRE Data Matrix Barcodes in Retail.

DMRE codes are suitable for encoding serialized data, batch numbers, expiration dates, and other variable information, making them ideal for track-and-trace applications in pharmaceuticals, food and beverage, and electronics manufacturing. The code has a minimum size of 8 x 16 modules and maximum of 16 x 48 modules. In this form, the code has a maximum data capacity of 98 numeric characters, 72 alphanumeric characters or 47 characters of binary data.
Overall, the versatility and adaptability of Data Matrix, including variations like DMRE and Direct Part Marking, make it a robust solution for diverse industries seeking efficient and reliable data capture and management systems.


Data Matrix barcodes find applications across diverse industries. In manufacturing, they are used for product identification, tracking, and quality control (especially in the electronics, automotive and aeronautic industries). In healthcare, Data Matrix is employed for patient identification, medication management, and specimen tracking. Logistics and supply chain management benefit from Data Matrix by enabling accurate inventory management, shipment tracking, and authentication of products. Data Matrix is also heavily used in the Post and Parcel industries to track items from dispatch to delivery.

A Data Matrix barcode on a parcel label. A Samrtphone scanner is placed on top of the parcel and shows a Data Matrix barcode on the screen.
Data Matrix for parcel tracking.

Data Matrix barcodes are also utilized in ticketing systems, electronic passports, driver’s licenses, and mobile marketing campaigns, showcasing its versatility and adaptability to various use cases.

Today, retail item marking uses 1D EAN or UPC symbology barcodes to carry item unique identifiers (GTINs). The standards body GS1 is modifying the retail marking standard to include the option to use Data Matrix and QR Codes from 2027. This Sunrise 2027 initiative is in progress with pilot schemes for printing and scanning barcodes (see the Viziotix White Paper ‘Sunrise 2027’).

Scanning Data Matrix

As a 2D barcode, Data Matrix must be scanned by a scanner capable of scanning in 2 directions; this means an imager-based scanner (as opposed to a laser or linear technology scanner).  Scanning Data Matrix barcodes therefore requires specialized equipment such as camera modules, industrial cameras or mobile devices equipped with barcode scanning apps. The scanning process involves capturing the image, decoding the encoded data, and transmitting it to a computer or database for further processing. The orientation of the barcode to the camera is not important.

The key to fast scanning is in the speed and thoroughness of the finder algorithm in analyzing the whole image to find the code’s finder patterns. The scanner then analyses each clock/ timer pattern and decodes the encrypted data. Images can be obtained from any camera source (ideal for OEMs building hardware solutions). However, due to the number of different types of cameras and their different specifications and optics, the image quality of Data Matrix codes sent to decode libraries tends to vary considerably. 

Professional barcode scanning software takes camera and image quality variation into account in its design. A number of techniques are used to ensure that image issues, including distortion, blur, contrast, glare, resolution and label damage, are overcome.

Scan performance is mainly measured on two key variables:

  1. Scan Success Rate
  2. Scan Speed

Scan Success Rate is the number of scans divided by the number of barcodes. Critical to this is the finder part of the process. Barcode Scanner libraries that are made for industrial or enterprise applications, such as Viziotix, use proprietary techniques (Viziotix Smart-Findr) to find Data Matrix codes, and all barcodes in images, and then overcome the various print and image quality issues to decode them. The efficiency of various libraries is especially evident when there are many barcodes in the image field (a mix of 1D and 2D codes or simply many Data Matrix codes). Some libraries search for barcodes mainly in the center of the image and miss any near the edges. The Viziotix Smart-Findr algorithm is a powerful tool for processing these images given its focus on ensuring that every barcode is found, wherever they are in the image. When all of the barcodes have been found, then the Maxi-Scan algorithm is used to decode all the codes in a single scan.

Medical items packs in a box on a palett. The box is open and many Data Matrix codes are visible. These are highlighted in green to show they have been scanned by the Viziotix barcode scanner SDK.
Scanning multiple Data Matrix Codes

The scan speed is the total process time from starting the scan to the output of the data.  In large images (5MP and above) the finder process can be the longest part of this time given the amount of image data. In industrial applications using 10 megapixel to 40 megapixel resolution cameras, the image processing time can turn into whole seconds per image. In an application such as automated inventory counting, with a  robot scanning 40,000 codes a day, then a scan speed of over a second may be too long to build a viable solution. The Viziotix library is designed to be very efficient at scanning large image files to ensure that the scan time is measured in milliseconds and with the highest scan success rate.

Enterprise scanning solutions must therefore achieve both the highest scan success rate and also the fastest scan speed to maximize total efficiency.

Industry Standards and Future Evolutions

Data Matrix is defined in the ISO/IEC 16022 standard. As a public domain barcode, it is free to use for internal or closed applications. However, if the barcode is used in applications where outside partners & clients also need scan, then some of the industry standards might apply. The electronics industry has adopted Data Matrix for electronics marking as its ideal for printing on small labels or engraving onto small components (CEA-706-A). The Society of Automotive Engineers (SAE) mandates the code for automotive parts (AS9132) . The GS1 organization mandates Data Matrix for Regulated Healthcare Trade Items and SSCC codes (Serial Shipping Container Code) for logistics. As above, GS1 is also in the process to add Data Matrix to its GTIN (Global Trade Identification Number) standard for retail item marking. These latter GS1 standards regulate the issuing of item numbers and how the codes are printed.

As technology continues to advance, the future of Data Matrix holds exciting possibilities. Integration with Internet of Things (IoT) devices, augmented reality (AR), and machine learning algorithms could further enhance the capabilities and applications of Data Matrix barcodes. The new DMRE format has already widened the scope of use.


Data Matrix barcode technology has evolved from its humble beginnings to become a cornerstone of modern data capture and management systems. Its versatility, data density, and error correction capabilities make it indispensable across a wide range of industries. Scanning Data Matrix requires a camera to image the barcode and a software scanner to decode the images or video stream. Enterprise-grade scanning software ensures that all the codes are read and that even large image files with many codes are scanned in a matter of milliseconds. As we look to the future, continued innovation and integration with emerging technologies promise to unlock even greater potential for Data Matrix in the years to come.

Data Matrix Key Facts

Data Matrix Code
Barcode Type
2D Matrix Code
International Standard
ISO/IEC 16022:2006
Public Domain
Maximum storage ECC 200 Version.
3,116 Numeric, 2,335 Alphanumeric characters & 1556 Binary characters.
Minimum size (ECC 200)
10×10 cells
Maximum size (ECC 200)
144×144 cells
Print Colors
Several and inverse. Must have contrast between light and dark.
Main Applications
Healthcare (GS1), Logistics (GS1), Manufacturing (MHI) Automotive (SAE) Defense (DoD MIL-STD-130 ) Retail (GS1 Sunise 2027)

Test Viziotix Data Matrix Scanning on your Smartphone:

Like this? Share it with others:

Share on Linkedin
Tweet it
Share on Facebook

Related Posts

Related Posts

Did you find what you need?
Please let us know if you need further information.

Contact Us

Please fill out this form to contact us for more information on our product and to request a trial. We will get back to you shortly. Thank you.