Intelligent Mail Generator

USPS IMb barcode combining routing and tracking in a single symbol for outgoing mail.

How Intelligent Mail is structured

The Intelligent Mail barcode is a 65-bar, four-state symbol: each bar position is a full-height bar, an ascender, a descender or a short tracker, so far more data fits in a similar footprint than POSTNET's two heights. It carries a 20-digit tracking code — barcode identifier, service type, mailer identifier and serial number — optionally followed by a routing code of 5, 9 or 11 digits for the delivery point.

Intelligent Mail check digit

There is no printed check digit. A 13-bit frame check sequence is folded into the symbol's data during encoding, and the decoder verifies it before returning anything, which is what allows a sorter to discard a damaged bar pattern instead of routing on a plausible but wrong address.

Intelligent Mail compared with POSTNET

POSTNET and PLANET each carried half of what IMb carries, with two bar heights instead of four and separate symbols for routing and tracking. IMb combines both, which is why USPS requires it for automation pricing and retired the older symbologies for business mail. Compare the POSTNET generator page for the same breakdown of structure, check digit and use cases.

Common Intelligent Mail problems

The tracking code is shorter than 20 digits

The 20-digit tracking field is mandatory: barcode identifier, service type, mailer identifier and serial number in one block. A 9- or 11-digit payload is a routing code, not a complete IMb, and cannot be validated on its own.

Mailer identifier and serial number lengths do not add up

The 20 digits allow a 6-digit mailer identifier with a 9-digit serial, or a 9-digit identifier with a 6-digit serial. Mixing the two conventions leaves the tracking code one digit short or long and the symbol fails at the sorter.

The preview is drawn with Code 128

This page encodes the digits through the site's Code 128 renderer so the payload can be checked. A mailpiece entering the USPS stream needs IMb output from a mailmarking service that implements the four-state encoding and its frame check sequence.

Where Intelligent Mail is used

Not sure this is the right symbology? The barcode format guide groups every supported 1D and 2D format by industry with its character set and limits.