USPS Intelligent Mail Generator

Generate USPS Intelligent Mail barcodes in your browser with live preview, validation, and PNG/SVG export.

Advanced options
Enter a value to see a live preview.
Options

These map directly to real generator options; anything not listed here is available under Advanced options above.

What USPS Intelligent Mail is

The USPS Intelligent Mail barcode (IMb), also called the OneCode barcode, is the four-state, height-modulated barcode the United States Postal Service uses for automated mail tracking and routing.

Generate it now

Type a 20, 25, 29, or 31-digit tracking/routing code now -- any other length is rejected outright.

Valid input

The data must contain only digits, and the pinned bwip-js onecode encoder accepts exactly 20, 25, 29, or 31 digits: the base 20-digit tracking code optionally followed by a 5-digit ZIP Code, 9-digit ZIP+4, or 11-digit delivery-point routing code. Any other length or a non-digit character is rejected.

Key options

Supported bwip-js options include height, width, and modunit for controlling the rendered bar dimensions.

Output and printing

Export PNG for digital proofing or SVG for crisp print; USPS mail-processing equipment reads the printed IMb directly from the mailpiece, so keep contrast and placement legible at your intended print size.

Common uses

IMb barcodes appear on business reply mail, permit-imprint mail, and other USPS commercial mail pieces to support automated tracking and delivery-point sequencing.

Example

The seeded example, "0123456709498765432101234567891", is a full 31-digit string: the 20-digit tracking code plus an 11-digit delivery-point routing code appended -- trim it down to just the first 20 digits to see the same barcode without the routing suffix.

Troubleshooting

A digit count other than 20, 25, 29, or 31, or any non-digit character, produces an explicit rejection; double-check you have not dropped or added a digit when copying from a mail-merge source.

Related formats

Related USPS formats: POSTNET and PLANET Code.

FAQ

Why does the generator reject my digit string?

The pinned bwip-js onecode encoder only accepts strings of exactly 20, 25, 29, or 31 digits with no other characters -- any other length or a letter/symbol is rejected.