Terry Burton edited this page Aug 22, 2016 · 11 revisions

Symbologies Reference

Point of Sale

GS1 DataBar

Supply Chain

Two-dimensional Symbols

One-dimensional Symbols

Postal Symbols

Pharmaceutical Symbols

Less-used Symbols

GS1 Composite Symbols

Raw Symbols

Partial Symbols

Clone this wiki locally


The MaxiCode barcode symbology is a 2D barcode based on a hexagonal matrix surrounding a bulls eye pattern. It can encode a structured carrier message and full 256 character extended-ASCII.

Also known as: UPS Code, Code 6.

Standards: ISO/IEC 16023, ANSI/AIM BC10 - ISS MaxiCode.

Data and Options

  • The mode option is used to specify how the data is structured in the symbol:
    • mode=2 - Formatted data containing a Structured Carrier Message with a numeric (US domestic) postal code.
    • mode=3 - Formatted data containing a Structured Carrier Message with an alphanumeric (international) postal code.
    • mode=4 - Unstructured data using standard error correction.
    • mode=5 - Unstructured data using enhanced error correction.
    • mode=6 - Barcode reader programming.
  • If mode is unspecified the encoder will default to selecting mode=5 if the encoded length of the input data permits enhanced error correction, otherwise it will select mode=4 which provides standard error correction.
  • When the parse option is specified, any instances of ^NNN in the data field are replaced with their equivalent ASCII value, useful for specifying unprintable characters.
  • If mode=4, mode=5 or mode=6 the data field may contain any extended ASCII data.
  • If mode=2 or mode=3 the data field must begin with a properly structured carrier message, followed by any extended ASCII data.
  • The structured carrier message contains a postal code, three-digit class of service and a three-digit ISO country code separated by GS (ASCII 29) characters. It is formatted in the data field as follows: [postal code]^029[country code]^029[service class]^029. If mode=2 the postcode must be numeric, whilst if mode=3 the postcode may contain up to six digits, upper case letters and spaces.
  • Alternatively, messages may begin with the special application field identifier [)>{RS}01{GS}yy where {RS} represents ASCII value 30, {GS} represents ASCII value 29 and yy is a two-digit year. In parse mode this is represented as [)>^03001^0299. If mode=2 or mode=3 this must be immediately followed by the structured carrier message.


Data:    This is MaxiCode
Encoder: maxicode
Data:    This is Maxi^067ode
Options: parse
Encoder: maxicode

Data:    152382802^029840^029001^0291Z00004951^029UPSN^02906X610^029159^0291234567^0291/1^029^029Y^029634 ALPHA DR^029PITTSBURGH^029PA^029^004
Options: mode=2 parse
Encoder: maxicode

Data:    ABC123^029840^029001^0291Z00004951^029UPSN^02906X610^029159^0291234567^0291/1^029^029Y^029634 ALPHA DR^029PITTSBURGH^029PA^029^004
Options: mode=3 parse
Encoder: maxicode

Data:    [\)>^03001^02996152382802^029840^029001^0291Z00004951^029UPSN^02906X610^029159^0291234567^0291/1^029^029Y^029634 ALPHA DR^029PITTSBURGH^029PA^029^004
Options: mode=2 parse
Encoder: maxicode