Data Matrix (ECC200) - 2D Barcode

Data Matrix is a two-dimensional matrix barcode, which encodes text or raw data in a pattern of black and white square modules. Usual data size is from a few bytes up to 2 kilobytes. By adding error correction codes (according to the ECC200 standard) the symbols can be read even if they are partially damaged.

Application Areas

Data Matrix is used for encoding large amounts of data, it is mainly used in Europe and in the United States. The dominating application areas are direct part marking and laser marking - both especially in the aerospace, electronic, and automotive industry. In addition Data Matrix is used for general logistic purposes, document management applications, postal services (digital stamps for the Deutsche Post, Premiumadress Service), and medical / health industry related applications (HIBC).

Starting with 2006/2007 the use of the Data Matrix barcode is also spreading in the area of mobile marketing, in such applications the Data Matrix barcode is also known under the name SemaCode. In a mobile marketing scenario a Data Matrix symbol is printed or displayed on products or marketing related materials (e.g. displays, magazines, and even web-pages). A user can now scan or decode this Data Matrix using a mobile phone with a built-in camera and suitable decoder software. After decoding the Data Matrix barcode symbol the user is forwarded to marketing or product related web-sites and blogs.


Data Matrix is a 2D barcode symbology with very high data density. Data Matrix symbols are printed in square or sometimes a rectangular pattern. Each dot of a Data Matrix symbol represents a bit. This is in contrast to linear bar-codes, where the information is encoded in the ratio of the bars or spaces to each other. Usually a black dot in a Data Matrix symbol is equivalent with the bit-value 1, but Data Matrix may also be printed white on black.


Data Matrix was developed by the company RVSI Acuity CiMatrix. This company was later acquired by Siemens Energy and Automation, Inc.


Data Matrix is also known under the name Semacode. As mentioned above this name is used for Data Matrix symbols when used for mobile marketing applications. See, ECC200 Code, ECC 200.

Technical Data

  • Normative standards: The normative standards for the Data Matrix barcode symbology are called ISO/IEC 16022:2000 and ISO/IEC 24720:2006 (ISO International Standard).
  • Data Matrix data capacity: A single Data Matrix symbol can theoretically hold up to 3116 digits, 2335 alphanumeric characters, or 1556 bytes. Due to internal data compression algorithms the exact data capacity depends on the structure of the data to be encoded. The maximum Data Matrix capacity is also influenced by available printing space and the printer resolution.
  • The default character set is Latin-1 or ANSI ASCII (equivalent to ECI 000003).
  • Error correction: Data Matrix offers a built-in error correction method based on Reed-Solomon algorithms. The error correction level is not adjustable by the user but it is possible to restore approximately 25% of unreadable codewords in a Data Matrix symbol without data loss.
  • ECC200: The term ECC200 refers to Data Matrix symbols which are generated according to the latest (and most sophisticated) built-in error correction methods. Older Data Matrix encoding schemes like ECC 000, ECC 050, ECC 080, ECC 100, ECC 140 must not be used for new applications. TEC-IT software only creates ECC 200 Data Matrix symbols.
  • Data Matrix supports 'Structured Append'. Up to 16 Data Matrix symbols can be concatenated. If a scanner or decoder supports this feature, it returns the concatenated data content in the correct order.
  • Data Matrix printing quality: To optimize barcode quality a Data Matrix symbol should not be printed with dots smaller than 4 to 5 device pixels.

GS1 Data Matrix (ECC 200)

Because of its technical advantages the GS1 organization considered the DataMatrix 2D barcode symbology for its system.

The so called GS1 or EAN Data Matrix is a standard DataMatrix symbol (ECC 200) with an internal GS1 identifier in the data structure (like the FNC1-Prefix in an GS1-128). The use of Application Identifiers is supported, this is comparable to the linear barcode GS1-128/EAN-128 or GS1 DataBar Expanded, where a code word similar to FNC1 acts as a field separator.

Related Standards

Some selected standards, which utilize Data Matrix (ECC200) 2D bar code:

  • ATA Spec 2000 Chapter 9, Automated Identification and Data Capture (AIDC)
  • AIAG B4 - Parts Identification and Tracking
  • NASA-STD-6002 Applying Data Matrix Identification Symbols on Aerospace Parts
  • NASA HDBK 6003 Application Of Data Matrix Identification Symbols To Aerospace Parts Using Direct Part Marking Methods/techniques
  • MIL-STD 130 - Identification Marking of U.S. Military Property (DOD UID)
  • SAE AS9132 Data Matrix Quality Requirements for Parts Marking
  • SEMI T7-0302 - Specification for Back Surface Marking of Double-Side Polished Wafers