Struktura
Kod kreskowy MaxiCode składa się z 884 sześciokątów rozmieszczonych w 33 rzędach. Wykorzystywane są dwa ich rodzaje: białe i czarne. 864 sześciokąty są wykorzystywane do zakodowania danych i korekcji błędów, 18 służy do orientacji geometrycznej kodu, natomiast dwa elementy są nieużywane. Na środku kodu znajduje się okrągła tarcza, która umożliwia szybkie zlokalizowanie kodu przez skanery. Kod zajmuje powierzchnię 1 cala kwadratowego. Jego wymiary mogą się wahać w granicach od 26,48x25,32mm do 29,79x28,49mm.
Tryb Maksymalna liczba znaków numerycznych Maksymalna liczba znaków alfanumerycznych
4 138 93
5 113 77
6 138  93
 

Słowa kodowe

Zbiór słów kodowych obejmuje 64 wartości. Każde słowo kodowe jest reprezentowane przez 6 heksagonalnych modułów. Każdy moduł oznacza jeden bit danych - ciemny moduł to 1, a jasny to 0. Ogólnie 6 modułów jest umieszczonych w trzech rzędach po dwa moduły, każdy uporządkowany od prawego górnego rogu do lewego dolnego. Ze względu na strukturę kodu znaki 1-9 oraz 137-144 mają inne ułożenie. Rysunek poniżej przedstawia kształty słów kodowych i uporządkowanie sześciokątów wewnątrz nich.
Kształty słów kodowych (LSB - najmniej znaczący bit, MSB - najbardziej znaczący bit).
Informacja niezbędna do prawidłowej geometrycznej orientacji kodu jest zakodowana sześcioma wzorami składającymi się z trzech modułów każdy (na rysunku poniżej).

Kształty słów kodowych służących do orientacji kodu kreskowego (B - ciemny heks, W - jasny heks).

Korekcja błędów

Kod kreskowy MaxiCode oferuje dwa poziomy korekcji błędów (ang. error correction). Te dwa poziomy wymagają różnej liczby słów kodowych oraz zapewniają różny poziom odtwarzania błędów. Podstawowe cechy są wymienione w tabeli poniżej.

Cecha Poziom korekcji błędów
Standardowy Rozszerzony
Całkowita liczba słów kodowych 144 144
Z tego dostępnych dla kodowania danych 93 77
Słowo kodowe używane dla wyboru trybu 1 1
Używanych dla korekcji błędów  50 66
Liczba błędnie zdekodowanych słów kodowych,
które mogą być poprawione
22 30

Zniekształcenia symboli

Dwuwymiarowe kody kreskowe są wrażliwe na błędy spowodowane przez lokalne zniekształcenia siatki kodu. Jednym z najczęstszych źródeł zniekształceń jest nierównomierny ruch etykiety podczas drukowania. W celu szybkiego wizualnego rozpoznawania takiego zjawiska jest stosowany następujący sposób.

Wzór o kształcie zamka błyskawicznego (ang. zipper) - na rysunku poniżej - drukowany jest obok kodu kreskowego. W przypadku zmniejszenia się prędkości przesuwu etykiety, pewna część wzoru będzie ciemniejsza. Analogicznie, w przypadku zwiększenia prędkości przesuwu, odpowiednia część wzoru będzie jaśniejsza. Pozwala to na szybką identyfikację problemu.


Wzór służący do detekcji nierównomierności prędkości druku etykiety.

Zastosowanie

Kod kreskowy MaxiCode jest niewielkich wymiarów (1 cal x 1 cal). Jest stosowany w transporcie i spedycji. Na przykład oznacza się nim paczki, dzięki czemu niezbędne informacje podróżują wraz z przesyłką. United Parcel Service (UPC) używa MaxiCode do szybkiego sortowania listów.