MaxiCode

MaxiCode is a public domain, machine-readable symbol system originally created by the United Parcel Service (UPS) in 1992. Suitable for tracking and managing the shipment of packages, it resembles an Aztec Code or QR code, but uses dots arranged in a hexagonal grid instead of square grid. MaxiCode has been standardised under ISO/IEC 16023.

A MaxiCode symbol (internally called "Bird's Eye", "Target", "dense code", or "UPS code") appears as a 1-inch square, with a bullseye in the middle, surrounded by a pattern of hexagonal dots. It can store about 93 characters of information, and up to 8 MaxiCode symbols can be chained together to convey more data. The centered symmetrical bullseye is useful in automatic symbol location regardless of orientation, and it allows MaxiCode symbols to be scanned even on a package traveling rapidly.

Structured Carrier Message
MaxiCode symbols using modes 2 and 3 include a Structured Carrier Message containing key information about a package. This information is protected with a strong Reed–Solomon error correction code, allowing it to be read even if a portion of the symbol is damaged. These fields include:


 * 1) A 4-bit indication of the mode in use, currently either mode 2 or mode 3.
 * 2) A national or international postal code.  MaxiCode supports both numeric postal codes (e.g. a ZIP Code), and alphanumeric postal codes.
 * 3) A 3-digit country code encoded per ISO 3166
 * 4) A 3-digit class of service code assigned by the carrier

The structured portion of the message is stored in the inner area of the symbol, near the bull's-eye pattern. (In modes that do not include a structured portion, the inner area simply stores the beginning of the message.)

Application-specific information
Irrespective of mode, a variable amount of application-specific information can be encoded in a MaxiCode symbol. This format of this additional data is not strictly defined, and amongst other information may include:


 * Purchase order number
 * Customer reference
 * Invoice number
 * Tracking number
 * Indicator of the originating carrier

Modes

 * Mode 0 – Obsolete mode superseded by modes 2 and 3. (Older printers will produce Mode 0 if the firmware is outdated. Mode 0 MaxiCodes can be visually determined by examining the two horizontal hexagons in the upper right-hand corner. They will be white if the Mode is 0.  For all other modes, they are black.)
 * Mode 1 – Obsolete mode superseded by mode 4.
 * Mode 2 – Formatted data containing a structured Carrier Message with a numeric postal code. (Primary use is US domestic destinations.)
 * Mode 3 – Formatted data containing a structured Carrier Message with an alphanumeric postal code. (Primary use is international destinations.)
 * Mode 4 – Unformatted data with Standard Error Correction.
 * Mode 5 – Unformatted data with Enhanced Error Correction.
 * Mode 6 – Used for programming hardware devices.

UPS labels use Mode 2 or Mode 3 MaxiCodes.