UPS MaxiCode Barcode

Also known as MaxiCode, Maxi Code, UPS barcode, United Parcel Service MaxiCode

This Barcode Symbology is supported by the following Neodynamic products:

Overview

UPS MaxiCode Barcode MaxiCode is a fixed-size (approximately 1 inch by 1 inch) 2D matrix barcode symbology which is made up of offset rows of hexagonal modules arranged around a unique finder pattern. MaxiCode was originally created and used by United Parcel Service (UPS) for tracking and managing the shipment of packages.

MaxiCode barcode can encode 256 international characters; values 0-127, in accordance with ANSI X3.4, i.e. all 128 ASCII characters and values 128-255 in accordance with ISO 8859-1 (Latin Alphabet No. 1). Although the capacity of a MaxiCode symbol is not as high as other 2D matrix barcode symbologies, it was primarily designed to encode address data. The maximum data capacity in a single MaxiCode Symbol is 93 alphanumeric characters or 138 numeric characters.

MaxiCode features "Structured Append" which allows files of data to be represented in up to 8 MaxiCode symbols. The original data can be correctly reconstructed regardless of the order in which the symbols are scanned.

MaxiCode symbols are divided into a primary and a secondary message featuring Reed-Solomon error correction. In general, the Primary message normally encodes a postal code, a 3 digit country code and a 3 digit class of service number while the Secondary message normally encodes address data and any other required information. In addition, MaxiCode has modes which are used to define the structuring of the data and error correction within a symbol. The following modes are available:

MaxiCode Modes Description
Mode 0 It is obsolete and superseded by Modes 2 and 3.
Mode 1 It is obsolete and superseded by Mode 4.
Mode 2 & 3 Structured Carrier Message. Modes 2 and 3 are designed for use in the transport industry. They encode the destination address and the class of service as defined by the carrier.
Mode 4 Standard Symbol. It indicates that the symbol employs Enhanced Error Correction (EEC) in the Primary Message and Standard Error Correction (SEC) for the Secondary Message.
Mode 5 Full EEC. It indicates that the symbol employs Enhanced Error Correction (EEC) for both the Primary and Secondary Message.
Mode 6 Reader Programming. It indicates that the symbol encodes a message used to program the reader system and that Standard Error Correction (SEC) is used for the Secondary Message. When a Mode 6 symbol is read no data shall be transmitted.


Special Message Structure when using Mode 2 and 3 (Structured Carrier Message)
MaxiCode Mode 2 and Mode 3 shall be reserved for use as a destination sortation symbol for use by carriers in the transport industry. In these modes, the primary message is always data specific and encodes postal code, country code and service class. The three primary data elements should be supplied in the above order separated by GS (Group Separator - ASCII 29) immediately followed by the secondary message contents. In addition, each data element shall be of the correct type, e.g. postal codes in mode 2 must be all numeric and in mode 3 it must be alphanumeric.

There are two standard message formats when using Mode 2 and Mode 3:
  • Messages Beginning with "[)>RS01GS": Messages which begin with the seven encoded data characters"[)>RS01GS" conform to particular open system standards and has the following structure:
    • [)>RS (Message Header)
    • 01GS (Format Header)
    • 2-digit representing the year (YY) of a date
    • Postal/Zip Code:
      • If Mode 2 (NUMERIC ONLY): 5-digit zip code + 4-digit zip code extension (if none exists, four zeros 0000 must be specified)
      • If Mode 3 (ALPHANUMERIC): 6-alphanumeric characters zip code (A through Z or 0 to 9)
    • GS
    • 3-digit country code (from ISO 3166) - NOTE: Mode 2 supports the US Country Code (840). For other country codes please use Mode 3 instead.
    • GS
    • 3-digit class of service
    • GS
    • <tracking number> (Mandatory Data for UPS)
    • GS<SCAC> (Mandatory Data for UPS)
    • GS<UPS shipper number>
    • GS<Julian day of pickup>
    • GS<shipment ID number>
    • GS<n/x> (Package n/x)
    • GS<package weight>
    • GS<address validation>
    • GS<ship to street address>
    • GS<ship to city>
    • GS<ship to state>
    • RS
    • EOT (End of Message)

      Where GS (ASCII 29) is used to separate fields in a message; RS (ASCII 30) is used to separate format types; and EOT (ASCII 4) is the end of transmission characters.

  • Messages NOT Beginning with "[)>RS01GS":
    • Postal/Zip Code:
      • If Mode 2 (NUMERIC ONLY): 5-digit zip code + 4-digit zip code extension (if none exists, four zeros 0000 must be specified)
      • If Mode 3 (ALPHANUMERIC): 6-alphanumeric characters zip code (A through Z or 0 to 9)
    • GS
    • 3-digit country code (from ISO 3166) - NOTE: Mode 2 supports the US Country Code (840). For other country codes please use Mode 3 instead.
    • GS
    • 3-digit class of service
    • GS
    • <The secondary message data in the required format>
    • EOT (End of Message)

      Where GS (ASCII 29) is used to separate fields in a message and EOT (ASCII 4) is the end of transmission characters.
Sample of a MaxiCode barcode
Sample of a MaxiCode barcode

How to create MaxiCode barcodes using Barcode Professional for

Note: Please refer to the Class Reference documentation for more information about the properties and methods stated in this document.
In order to get a MaxiCode barcode image, please follow these steps:
  • Set the Symbology property to MaxiCode
  • Set the MaxiCodeMode property
  • Set the Code property with the value to encode. NOTE: To encode Mode 2 or 3, then please specify the message in the correct format/structure (more info above)
  • If desired, you can use the tilde character "~" to specify special characters in the input data e.g. ~013 is used to represent the ASCII character with the decimal value 13 (CR). To do that you must set the MaxiCodeProcessTilde property to True.
Note: Please refer to the Class Reference documentation for more information about the properties and methods stated in this document.
In order to get a MaxiCode barcode image, please follow these steps:
  • Set the Symbology property to MaxiCode
  • Set the MaxiCodeMode property
  • Set the Code property with the value to encode. NOTE: To encode Mode 2 or 3, then please specify the message in the correct format/structure (more info above)
  • If desired, you can use the tilde character "~" to specify special characters in the input data e.g. ~013 is used to represent the ASCII character with the decimal value 13 (CR). To do that you must set the MaxiCodeProcessTilde property to True.

Examples of MaxiCode barcode images

Code property = ABC123456789 and MaxiCodeMode property = Mode4 will produce the following barcode image:

Example of MaxiCode Mode 4 barcode image

Code property = [)>~03001~02996336091062~029840~029002~0291Z14647438~029UPSN~029410E1W~029195~029~0291/1~029~029Y~029135Reo~029TAMPA~029FL~030~004 and MaxiCodeMode property = Mode2 and MaxiCodeProcessTilde property = True will produce the following barcode image (NOTE: Where ~029 is GS (ASCII 29); ~030 is RS (ASCII 30) and ~004 is EOT (ASCII 4)):

Example of MaxiCode Mode 2 barcode image

Code property = 524032140~029840~029001~029AIM USA~029634 ALPHA DRIVE~029PITTSBURGH~029PA~004 and MaxiCodeMode property = Mode3 and MaxiCodeProcessTilde property = True will produce the following barcode image (NOTE: Where ~029 is GS (ASCII 29) and ~004 is EOT (ASCII 4)):

Example of MaxiCode Mode 3 barcode image