Overview of Data Matrix
Data Matrix is an efficient, dependable and orientationindependent 2d matrix barcode type, which is developed to store more information in smaller barcode image. This barcode image is constructed of black and white modules arranged in either a square or rectangular pattern.
In addition, Data Matrix can be divided into two types: ECC000140 and ECC 200. The latter is always recommended for new applications.
Generation of Data Matrix
Data Matrix Generator for Office Word  An Office barcode addin that inserts Data Matrix barcode image into Word documents
Data Matrix Generator for .NET  .NET Component that generates Data Matrix for Windows and Web Applications
Data Matrix Generator for Winforms  A windows forms development tool for Data Matrix barcode image generation
Data Matrix Generator for ASP.NET  An ASP.NET SDK to Data Matrix barcode image in ASP.NET projects
Data Matrix Generator for Java  Java Class Library that is used for Data Matrix bar code image generation in Java
Data Matrix Generator for Android  Android development tool to make Data Matrix in Android Apps
Structure of Data Matrix
Each Data Matrix is comprised of quiet zone, a finder pattern and alignment patterns. And the dimensions of them are decided by X that indicates the horizontal and vertical width of a module.
 Quiet zone: Surrounds the symbol on all four sides and the minimum quiet zone is originally equal to X.
 Finder pattern: Located between the data region and quiet zone. And its width should be the value of X.
 Alignment pattern: In larger Data Matrix, this pattern will be presented, whose width should be equivalent to value of 2X.
Applications of Data Matrix
As a new bar code technology, Data Matrix has been widely used in the field of defense, healthcare, business, finance, logistics management in Western countries. Since the minimal size of Data Matrix is the smallest one among various barcode types, it is especially appropriate for marking small items. Nowadays, it is commonly applied to printed media, such as labels and letters.
Encodable Characters of Data Matrix
There are multiple encoding modes used to store different kinds of information for Data Matrix ECC 200:
 ASCII: Double digit numerics, ASCII values 0  127, and Extended ASCII values 128  255
 C40: Uppercase alphanumeric, Lower case and special characters
 Text: Lowercase alphanumeric, Upper case and special characters
 X12: ANSI X12 EDI data set
 EDIFACT: ASCII values 32  94
 Base 256: All byte values 0  255
Extended Channel Interpretations for Data Matrix
The Extended Channel Interpretations (ECIs) enables multiple character sets and other data interpretations to be encoded by the Data Matrix barcode.
Error Correction Capacity
ECC 200 uses ReedSolomon error correction. And there are two kinds of erroneous codewords that can be corrected by the error correction codewords. One is an unscanned or undecodable symbol character called erasures, while the other is a misdecoded symbol character called errors.
The number of them can be given by the following formula:
e + 2t < d  p
In this formula, e, t, d, p stands for number of erasures, errors, error correction codewords, and codewords reserved for error detection respectively.
Configuration of Data Matrix
Data Matrix ECC200 configurations can be divided into two categories:
 24 square symbol configurations sizing from 10x10 to 144x144 (even values only and not including quiet zones);
 6 rectangular symbol configurations sizing respectively 8x18, 8x32, 12x26, 12x36, 16x36, 16x48 (not including quiet zones).
Structured Append of Data Matrix
The Data Matrix is allowed to be divided into up to 16 Data Matrix symbols if necessary. Moreover, the original data information still can be reconstructed accurately regardless of the order when those symbols are scanned.
Contrastive Analysis between Data Matrix and QR Code
Both Data Matrix and QR Code are twodimensional barcode, which are able to contain a considerably great volume of information with a small area. However, there are many differences between Data Matrix and QR Code. More details are presented in the following table:
Comparison 
Data Matrix 
QR Code 
Background 
Invented by International Data Matrix (ID Matrix) in 1989 
Developed by Denso Wave in 1994 
Encodable Data 
 ASCII: Double digit numerics, ASCII values 0  127, and Extended ASCII values 128  255
 C40: Uppercase alphanumeric, Lower case and special characters
 Text: Lowercase alphanumeric, Upper case and special characters
 X12: ANSI X12 EDI data set
 EDIFACT: ASCII values 32  94
 Base 256: All byte values 0  255

 Numeric data (digits 0  9)
 Alphanumeric data (digits 0  9; upper case letters A  Z) and nine other characters: (space, $ % * +  . / :)
 Byte data (default: ISO/IEC 88591; or other sets as otherwise defined)
 Kanji character. (Kanji characters can be compacted into 13 bits)

Maximum data characters 
 3,116 numeric characters
 2,335 alphanumeric characters
 1,555 8bit byte characters

 7,089 numeric characters
 4,293 alphanumeric characters
 2,953 byte characters
 1,817 Kanji characters

Structure 
 data regions
 a finder pattern
 quite zone
 alignment patterns

 quiet zone
 finder pattern
 separator
 timing patterns
 alignment patterns

Configuration 
 24 square symbols: sizing from 10*10 to 144*144 (even values only)
 6 rectangular symbols: sizing from 8*18 to 16*16

40 square versions: ranging from Version1 (21*21 modules) to Version40 (177*177 modules) 
Application 
Defense, healthcare, finance, logistics management, etc 
Advertising, packaging, commercial tracking, entertaining, etc 