Terry Burton edited this page Jan 18, 2018 · 13 revisions


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, Dense Code.

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 extended ASCII data using standard error correction.
    • mode=5 - Unstructured extended ASCII 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.
  • The default interpretation of data by readers is in accordance with ISO/IEC 8859-1.
  • 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

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
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.