Skip to content
barcoder

Standards/intelligent-mail-package-barcode

Intelligent Mail Package Barcode

Type1D Linear
PrimaryUS
Completeness75%high

Overview

The Intelligent Mail Package Barcode (IMpb) is the United States Postal Service's standard barcode for packages and parcels. It is a GS1-128 symbol — a specialized application of Code 128 (ISO/IEC 15417) using GS1 Application Identifiers — that concatenates destination routing information (such as a ZIP code) together with a unique package identification code into a single barcode 2. The IMpb consolidates routing data, the payment channel, the mail class/service, the mailer's identity, and a per-piece serial number into one integrated symbol, enabling end-to-end tracking and delivery confirmation 2, 3.

The IMpb is the package-tier counterpart to the letter-mail four-state Intelligent Mail Barcode (IMb): IMb routes and tracks letters and flats, while IMpb does the same for parcels using a width-modulated Code 128/GS1-128 symbol instead 2.

History

USPS introduced the IMpb to replace its earlier fragmented set of package barcodes (Delivery Confirmation, Signature Confirmation, and other service-specific symbols) with one integrated barcode per parcel 2, 3. The implementation for commercial parcels was formalised through a 2011 Federal Register rulemaking, and USPS indicated that effective January 22, 2012 it would provide end-to-end tracking — including confirmation of delivery — at no additional charge on all commercial parcels, with required implementation phased in afterward 1, 3. The authoritative technical document is USPS Publication 199, the IMpb Implementation Guide for Confirmation Services and Electronic Verification System (eVS) mailers 1.

Technical specification

The IMpb is built on GS1-128, a specialized form of Code 128 that uses an FNC1 in the first position and GS1 Application Identifiers (AIs) to delimit data fields 2. A typical domestic IMpb encodes the following sequence 2:

  1. Start C character.
  2. FNC1 separator (marks the symbol as GS1-128).
  3. Application Identifier — typically 420 (3 digits), designating domestic parcel routing.
  4. Routing ZIP Code — 5 digits for the destination.
  5. FNC1 separator.
  6. Channel AI — e.g. 92 (2 digits) for commercial mailers using 9-digit IDs.
  7. Service Type Code (STC) — 3 digits identifying the mail class and service combination (e.g. Priority Mail with Delivery Confirmation).
  8. Mailer ID (MID) — 6 or 9 digits, identifying the customer.
  9. Serial / Package ID — 7 digits (optionally 11 digits per later specs) giving each piece a unique number.
  10. Mod-10 check digit.
  11. Mod-103 symbology check character (the Code 128 symbol check).
  12. Stop character.

The combination of MID + STC + serial forms the Package Identification Code (PIC) — the unique tracking number for the piece 2. The three-digit STCs let a single barcode identify the exact product and extra-service combination, eliminating the need for separate service barcodes 3.

Print parameters. A representative IMpb printed at 16 pt has a height of about 0.75″ and an X-dimension of about 0.013″; the human-readable interpretation inserts spaces between every four digits 2.

Use cases

  • Parcel routing and end-to-end tracking across the USPS network 2, 3.
  • Delivery and Signature Confirmation services, encoded directly via the service type code 3.
  • Commercial parcel shipping by high-volume mailers participating in eVS and Confirmation Services 1.
  • Payment channel designation through the GS1 Application Identifier / channel AI 2.

Implementations

  • zint (C, 771★, active 2026) — open-source library that encodes Code 128 / GS1-128, the underlying symbology of the IMpb 4.
  • Numerous commercial label/shipping platforms (USPS-certified vendors) generate compliant IMpb symbols per Publication 199 1.

Comparison

Feature IMpb Intelligent Mail Barcode (IMb)
Mail tier Packages / parcels Letters / flats
Symbology GS1-128 (Code 128, 1D width-modulated) Four-state height-modulated
Data Routing ZIP + PIC (MID + STC + serial) Routing code + tracking + barcode ID
Tracking granularity Per-piece unique Per-piece unique
Replaces Delivery/Signature Confirmation barcodes POSTNET + PLANET

The IMpb and IMb are deliberately complementary: both give every mailpiece a unique trackable identifier, but IMpb uses a 1D GS1-128 symbol suited to packages while Intelligent Mail Barcode uses a four-state symbol suited to letter sorting 2, 3.

Fun facts

  • The IMpb folds what used to be several separate barcodes (routing, Delivery Confirmation, payment) into a single GS1-128 symbol, with the service captured by just a 3-digit Service Type Code 3.
  • Although it is a "postal" barcode, the IMpb is technically a standard GS1-128 retail/logistics symbol under the hood, readable by ordinary GS1-128 scanners 2.

Status

The IMpb is currently mandatory for parcels shipped through USPS and is actively maintained; USPS periodically updates Publication 199 (service type codes and validations) 1, 2.

Sources

1 Intelligent Mail Package Barcode (IMpb) Specification — USPS PostalPro 2 USPS GS1-128 IMpb FAQ & Tutorial — BarcodeFAQ.com 3 IMpb Implementation for Commercial Parcels — Federal Register, 2011 4 zint/zint — GitHub, 2026

Deployments

No country reports mention this standard by name.

source · content/standards/intelligent-mail-package-barcode/index.md