GS1 128 in USPS Confirmation Service


USPS confirmation services uses UCC/EAN128 barcodes to uniquely identify mail pieces and to designate the type of services requested. This barcode encodes the Package Identification Code (PIC), commonly referred as a tracking number. With Morovia U.S. Postal Fontware, you are able to produce such barcode in your own shipping labels in minutes.

This article is based on USPS Publication 91, published in May 2008.

Package ID

The confirmation services use a 20-digit package ID which can be further divided into four parts:

  1. Service Type Code - 2-digit

  2. Customer ID - 9-digit DUNS Number

  3. Sequential Package ID - 8-digit

  4. Check Digit - Mod 10

Service Type Code (STC)

Service Type Code are 2-digit designators to represent Postal Service Classes of mail in conjunction with the postal service being requested. The detailed list of STC codes can be located in USPS publication 91, pages 68-70.

Dun & Bradstreet Number (DUNS)

The DUNS uniquely identify a business at specific geographical locations. If you want to do business with U.S. government you need to have a DUNS number. The DUNS can be obtained via Internet at

Sequential Package ID

Customers assign an 8-digit sequential package identifier. This string of numbers can be a variable length field of 2-8 digits.

Check Digit

he check digit is appended at the end of the number to validate the authenticity of the number. The value of the check digit is that when added to the sum of other digits in the barcode, results in a total that is multiple of 10. For example in the diagram above, the check digit for 91801 is 1 since 9+1+8+0+1+1=20 which is two times of 10.

GS1-128 Barcode

The barcode uses EAN128 symbology. The Application Identifier in this case is 91. If you are familiar with Code128C, it is not difficult to find out the barcode is composed with six parts:

  1. Start character (START-C)

  2. GS1-128 Indicator - FNC1

  3. Application Identifier, in our case, 91

  4. 20-digit Package ID, including the check digit

  5. Code128 Checksum character

  6. Stop Character (STOP-C)

The AI and Package ID are required to be printed underneath of the barcode per USPS requirement.

The function to calculate checksum digit for package ID, as well as the complete barcode string for USPS confirmation services is included in Morovia Font Tools, which is included in Morovia U.S. Postal Fontware.

Print Requirement

The text above the barcode code must read as appropriate: "USPS DELIVERY CONFIRMATION", "USPS SIGNATURE CONFIRMATION", etc. The font must be sans serif bold. And the size must be at least 12 points. (14-point type preferred).

The human readable text representing the barcode must be placed below the quiet zone of the barcode, and must be printed with a sans serif bold with minimum point size 10. The AI 91 must be printed at the beginning of the human readable text.

Two identification bars with at least 0.062" thick must appear between 0.125 inch and 0.5 inch above and below the human readable text and numbers to distinguish the Confirmation Services bar code from other information on the shipping label.

Concatenated Barcode with ZIP Code

The USPS Confirmation barcode can be concatenated with another GS-128 barcode with ZIP code encoded. For more information, se KB10049.