MaxiCode is not really a barcode – it doesn't have any bars. It is a fixed size matrix symbology made up of offset rows of hexagonal modules, with a Finder pattern in the centre.
MaxiCode symbols are reproduced at a width of 25.5 mm and a height of 24.4 mm (in each case there is a tolerance of 1.5 mm).
Intended primarily for encoding addresses for postal and delivery applications, it has a relatively low information content. On the other hand the fixed physical size of the image simplifies the facilities required for both printing and scanning the symbols.

MaxiCode is characterised by the two "messages" which make up its data content – the Primary message and Secondary message. The symbology may be used in 5 modes which utilise the two message in different ways and with different levels of error correction, as shown in the table below:
|
Mode |
Use |
|
0 |
obsolete (not supported) |
|
1 |
obsolete (not supported) |
|
2 |
Primary message encode numeric postal code, country code and service code, secondary message encodes additional data |
|
3 |
Primary message encode alphanumeric postal code, country code and service code, secondary message encodes additional data |
|
4 |
Any data up to 84 data characters automatically split between primary and secondary messages. |
|
5 |
Any data up to 68 data characters automatically split between primary and secondary messages. Enhanced error correction used |
|
6 |
Similar to 4, but used for reader control. |
In modes 4, 5, and 6 virtually any ASCII data may be encoded up to the maximum number of data characters allowed. However, encoding introduces additional shift and latch characters whenever characters other than uppercase letters and numbers are used and the maximum length of text becomes correspondingly smaller.
Modes 2 and 3 are for Structured Carrier Messages and require specific data in the correct order to produce a scan able symbol. Basically the data consists of the sequence:
postal code G country code G service class G secondary message
where the 4 components are separated by ASCII 29 characters, shown as G.
In mode 2 the postal code must be numeric only and up to 9 digits. In mode 3 the postal code may be up to 6 alphanumeric characters. The country code and service class elements must be three digits each.
Mode 2 or 3 message which begin with the sever character sequence [)>R01G
(where G is ASCII 29 and R is ASCII 30) are treated in the special way described in the MaxiCode specification.
Any secondary message can terminated with an End of Transmission character (ASCII 4).
Because the non-printable ASCII characters are a required part of MaxiCode messages in Modes 2 and 3, dLSoft software recognises the following keyboard sequences for the entry of such characters:
|
Sequence |
Alternative |
ASCII value |
|
<FS> |
{FS} |
28 |
|
<GS> |
{GS} |
29 |
|
<RS> |
{RS} |
30 |
|
<US> |
{US} |
31 |
|
<ET> |
{ET} |
4 |
A typical string for a Mode 2 Maxicode is:
[)><RS>01<GS>96152382802<GS>840<GS>001<GS>1Z00004951<GS>UPSN<GS>06X610<GS>159<GS>1234567<GS>1/1<GS><GS>Y<GS>634 ALPHA DR<GS>PITTSBURGH<GS>PA<RS><ET>
Appended symbols are not supported by dLSoft software at this time.
MaxiCode symbols are sensitive to the gap between hexagons. For printing on a 300 dpi laser we recommend the line width reduction parameter be set to 12.
More: