Każdy symbol w kodzie Data Matrix składa się z regionów danych, które zawierają kwadratowe moduły tworzące regularną tablicę. Dla większych symboli ECC 200 regiony danych są rozdzielone przez wzory organizujące. Region danych jest otoczony wzorem pozycjonującym (ang. finder pattern). Wzór pozycjonujący to obwód obszaru danych o szerokości równej jednemu modułowi. Dwa sąsiadujące ze sobą boki tablicy, lewy i dolny, tworzą ograniczenie w postaci litery L czarnymi liniami wykorzystywanymi głównie do określania fizycznej wielkości, orientacji i zniekształcenia symbolu. Dwa przeciwległe boki symbolu kodu składające się z ułożonych na przemian ciemnych i jasnych modułów wykorzystywane są głównie do definiowania struktury komórkowej symbolu, ale mogą być również pomocne w określaniu fizycznego rozmiaru i zniekształcenia symbolu (przedstawione na rysunku poniżej).
Wzory służące do pozycjonowania kodu Data Matrix (wymiary kodów: 18x18 oraz 32x32 moduły).
Dla trybów ECC 000-140 symbole kodu Data Matrix mają nieparzystą liczbę wierszy i nieparzystą liczbę kolumn. Generowane symbole mają wielkość od 9x9 do 49x49 (modułów) wyłączając "cichą" strefę. Te symbole charakteryzują się tym, że prawy górny moduł jest ciemny.
Dla trybu ECC 200 symbole składają się z parzystej liczby wierszy i parzystej liczby kolumn. Niektóre symbole są kwadratami o wielkościach od 10x10 do 144x144 modułów. Inne symbole mają prostokątny kształt o rozmiarach od 8x18 do 16x48 modułów wyłączając strefę otaczającą. Symbole w trybie ECC 200 charakteryzują się jasnym kolorem prawego górnego modułu.
Poziomy korekcji oraz maksymalne dopuszczalne poziomy uszkodzenia kodu dla ECC 000 - 140 wynoszą:
- 000 - 0%
- 050 - 2,8%
- 080 - 5,5%
- 100 - 12,6%
- 140 - 25%
Schematy kodowania dla ECC 000-140 to:
- Base 11: 0-9 i spacja
- Base 27: A-Z i spacja
- Base 37: A-Z, 0-9 i spacja
- Base 41: A-Z, 0-9, spacja, kropka, przecinek, myślnik, '/'
- ASCII: ASCII (0-127)
- 8-bit Byte: każdy znak danych kodowany jest przy pomocy 8-bitowego bajtu
Schematy kodowania dla ECC 200:
- ASCII: znaki ASCII (0-255)
- C40: A-Z, numeryczne, spacja, inne zestawy wymagają użycia przełączników
- Text: a-z, numeryczne, spacja, inne zestawy wymagają użycia przełączników
- X12: ANSI X12 Electronic Data Interchange (EDI)
- EDIFACT: dwa zestawy - ASCII (32-63) oraz ASCII (64-94)
- Base 256: ASCII (0-255)
ASCII to podstawowy schemat kodowania, a każdy następny odwołuje się do niego. Dane mogą być zakodowane poprzez użycie różnych kombinacji powyższych schematów.
Każdy znak w symbolu jest reprezentowany przez osiem modułów, każdy w kształcie kwadratu. Każdy moduł odpowiada jednemu bitowi. Ciemny moduł to jedynka, a jasny to zero. Ułożenie bitów w słowie kodowym zostało przedstawione na rysunku poniżej.

|
Ułożenie bitów w słowie kodowym dla formatu ECC 200 (MSB- najbardziej znaczący bit, LSB - najmniej znaczący bit).
|
Poniższa tabela przedstawia pojemność informacyjną kodu Data Matrix dla różnych kombinacji wierszy/kolumn. Przedstawione liczby odnoszą się do trybu ECC 200.
|
Wymiary |
Szczegóły |
Pojemność
informacyjna
|
|
Wiersze Kolumny |
Regiony danych |
Bajty danych |
Bajty błędów |
ECC % |
Cyfry |
Alfanumeryczne |
8-bitowe ASCII |
|
10 x 10 |
1 |
3 |
5 |
62,5 |
6 |
3 |
1 |
|
12 x 12 |
1 |
5 |
7 |
58,3 |
10 |
6 |
3 |
|
14 x 14 |
1 |
8 |
10 |
55,6 |
16 |
10 |
6 |
|
16 x 16 |
1 |
12 |
12 |
50,0 |
24 |
16 |
10 |
|
18 x 18 |
1 |
18 |
14 |
43,8 |
36 |
25 |
16 |
|
20 x 20 |
1 |
22 |
18 |
45,0 |
44 |
31 |
20 |
|
22 x 22 |
1 |
30 |
20 |
40,0 |
60 |
43 |
28 |
|
24 x 24 |
1 |
36 |
24 |
40,0 |
72 |
52 |
34 |
|
26 x 26 |
1 |
44 |
28 |
38,9 |
88 |
64 |
42 |
|
32 x 32 |
4 |
62 |
36 |
36,7 |
124 |
91 |
60 |
|
36 x 36 |
4 |
86 |
42 |
32,8 |
172 |
127 |
84 |
|
40 x 40 |
4 |
114 |
48 |
29,6 |
228 |
169 |
112 |
|
44 x 44 |
4 |
144 |
56 |
28,0 |
288 |
214 |
142 |
|
48 x 48 |
4 |
174 |
68 |
28,1 |
348 |
259 |
172 |
|
52 x 52 |
4 |
204 |
84 |
29,2 |
408 |
304 |
202 |
|
64 x 64 |
16 |
280 |
112 |
28,6 |
560 |
418 |
278 |
|
72 x 72 |
16 |
368 |
144 |
28,1 |
736 |
550 |
366 |
|
80 x 80 |
16 |
456 |
192 |
29,6 |
912 |
682 |
454 |
|
88 x 88 |
16 |
576 |
224 |
28,0 |
1152 |
862 |
574 |
|
96 x 96 |
16 |
696 |
272 |
28,1 |
1392 |
1042 |
694 |
|
104x104 |
16 |
816 |
336 |
29,2 |
1632 |
1222 |
814 |
|
120x120 |
36 |
1050 |
408 |
28,0 |
2100 |
1573 |
1048 |
|
132x132 |
36 |
1304 |
496 |
27,6 |
2608 |
1954 |
1302 |
|
144x144 |
36 |
1558 |
620 |
28,5 |
3116 |
2335 |
1556 |
Data Matrix jest używany do oznaczania dokumentów. Stosowany jest także na przesyłkach w transporcie i spedycji. Może być również używany wewnątrz firm w magazynach. Stosowany jest w przemyśle elektronicznym. Electronics Industry Association (EIA) zaleca stosowanie kodu kreskowego Data Matrix do oznaczania elementów półprzewodnikowych, Automotive Industry Action Group (AIAG) - do oznaczania małych części, Air Transportation Association (ATA) - w przemyśle lotniczym.