dLSoft  barcode & labelling software     

Datamatrix barcodes

DataMatrix is a two dimensional matrix symbology which is made up of square modules arranged within a finder pattern. DataMatrix symbols may be square or rectangular.

Datamatrix square symbol                Datamatrix rectangular symbol

DataMatrix symbols can encode the entire ASCII character set and uses multiple encoding modes, which are, in order of efficiency:

Double digits – maximum capacity 3100 digits
Alphanumeric text – maximum capacity 2300 characters*
Byte values – maximum capacity 1550 bytes

See also the capacities of the new DMRE symbols.

*Note that capital letters, punctuation and new lines/paragraphs reduce this value.

Encoding modes

The data in a Datamatrix symbol may be encoded using any combination of six encodation schemes (see below).
ASCII encodation is the basic scheme. All other encodation schemes are invoked from ASCII encodation and return to this scheme.

Most dLSoft products that support Datamatrix offer automatic encoding (to generate the most compact symbol) as well as permitting the user to specify and encoding mode.

The following encoding modes are supported:

ASCII: encodes all lower ASCII characters (<127) and pairs of digits in a single codeword; extended ASCII (>128) characters are preceded by a Latch character.

C40: encodes three characters (upper case letters, digits and spaces) into two codewords. Other ASCII characters require two C40 values

Text: encodes three characters (lower case letters, digits and spaces) into two codewords. Other ASCII characters require a shift character

X12: encodes the standard ANSI X12 characters - upper-case alphabetic characters, numerics, space and the three standard ANSI X12 terminator and separator characters.

EDIFACT: includes 63 ASCII values (values from 32 to 94), including all the numeric, alphabetic and punctuation characters defined in the EDIFACT Level A character set. EDIFACT encodation encodes four data characters in three codewords.

Base256: encodes all byte values 0 – 255.

Symbol sizes

Square Datamatrix symbols may contain from 10 to 144 column and row elements. Rectangular symbols may contain 18 to 48 columns and 8 to 16 rows. 12 new rectangular symbols were recently added as Datamatrix Rectangual Extensions


DataMatrix symbols can include a user-selected amount of error-correction data.

For Square symbols the Security Level setting may be in the range 0 – 24, while for Rectangular symbols the allowed range is 0 – 6.
See Barcode Help for full details.

In dLSoft products supporting Datamatrix the user may specify either a security level for the symbol (the proportion of the symbol devoted to error correction) or the number of barcode elements across the symbol.

dLSoft 2D barcode products support only ECC200 symbols – the older ECC140 (and below) are no longer supported. Also at this time ECI and Appended symbols are not supported. dLSoft components support the encoding of Unicode character data in Datamatrix symbols.

Special flags

In dLSoft components if the GS1 flag is set then the first data character is made FNC1 (ASCII 232) and the remaining data is treated as EAN/UCC data; i.e. brackets are removed from the data. Any AIs included in the data that are NOT fixed length will be terminated with a FNC1 character if not included in the data. (The FNC1 character may be entered from the keyboard by holding down the <Alt> key and typing 0232 on the numeric keypad.)

If the DL_DEUTSCHEPOST flag is set data is encoded only in Base256 mode as required for some symbols used for the German postal service.

The industry standard Macro sequences [)><RS>05<GS> and [)><RS>06<GS> are supported (where <RS> represents ASCII 30 and <GS> is ASCII 29).

All dLSoft product families include products that support Datamatrix symbols.