# Intelligent Mail barcode

The Intelligent Mail Barcode (IMb) is a 65-bar barcode for use on mail in the United States. The term "Intelligent Mail" refers to services offered by the United States Postal Service for domestic mail delivery. The IM barcode is intended to provide greater information and functionality than its predecessors POSTNET and PLANET. An Intelligent Mail barcode has also been referred to as a One Code Solution and a 4-State Customer Barcode, abbreviated 4CB, 4-CB or USPS4CB. The complete specification can be found in USPS Document USPS-B-3200. It effectively incorporates the routing ZIP Code and tracking information included in previously used postal barcode standards.
The barcode is applied by the sender; the Postal Service required use of the Intelligent Mail barcode to qualify for automation prices beginning January 28, 2013. Use of the barcode provides increased overall efficiency, including improved deliverability, and new services.

## Symbology

The Intelligent Mail barcode is a height-modulated barcode that encodes up to 31 decimal digits of mail-piece data into 65 vertical bars.
The code is made up of four distinct symbols, which is why it was once referred to as the 4-State Customer Barcode. Each bar contains the central "tracker" portion, and may contain an ascender, descender, neither, or both (a "full bar").
The 65 bars represent 130 bits (or 39.13 decimal digits), grouped as ten 13-bit characters. Each character has 2, 5, 8, or 11 of its 13 bits set to one. The Hamming distance between characters is at least 2. Consequently, single-bit errors in a character can be detected (toggling one bit results in an invalid character). The characters are interleaved throughout the symbol.
The number of characters can be calculated from the binomial coefficient.
    ${\binom {13}{2}}+{\binom {13}{5}}+{\binom {13}{8}}+{\binom {13}{11}}=78+1287+1287+78=2\cdot 1365=2730$
The total number of characters is two times 1365, or 2730. Log$_2$(2730) is 11.41469 bits per group. So the 65 bars (or 130 bits) encode a 114-bit message.
The encoding includes an eleven-bit cyclic redundancy check (CRC) to detect, but not correct, errors. Subtracting the 11 CRC bits from the 114-bit message leaves an information payload of 103 bits (the specification sets one of those bits to zero). Consequently, 27 of the 130 bits are devoted to error detection.

## Data payload

The IM barcode carries a data payload of 31 digits representing the following elements:
Intelligent Mail barcode components :
| Index of first digit | Length | Name |
| 1 | 2 | Barcode identifier |
| 3 | 3 | Service type identifier |
| 6 | 6 or 9 | Mailer ID |
| 12 or 15 | 9 or 6 | Sequence number |
| 21 | 11 | Delivery-point ZIP code |

### Barcode identifier

A barcode identifier is assigned by the United States Postal Service to encode the presort identification that is currently printed in human-readable form on the optional endorsement line (OEL). It is also available for future United States Postal Service use. This is accomplished using two digits, with the second digit in the range of 0–4. The allowable encoding ranges are 00–04, 10–14, 20–24, 30–34, 40–44, 50–54, 60–64, 70–74, 80–84, and 90–94.
The first digit of the barcode identifier is defined as:
| Value | OEL description |
| 0x | Default / no OEL information |
| 1x | Carrier route (CR), enhanced carrier route (ECR), and FIRM |
| 2x | 5-digit/scheme |
| 3x | 3-digit/scheme |
| 4x | Area distribution center (ADC) |
| 5x | Mixed area distribution center (MADC), origin mixed ADC (OMX) |

### Service type identifier (STID)

A three-digit value represents both the class of the mail (such as first-class, standard mail, or periodical), and any services requested by the sender.
Basic STIDs, for the purpose of automation only, are as follows:
| Value | STID description |
| 300 | First-class mail with no services |
| 261 | Standard mail with no services |
| 040 | First-class mail, basic option with destination IMb tracing |
| 042 | Standard mail, basic option with destination IMb tracing |
| 044 | Periodicals with manual address correction |
| 401 | Bound printed matter with no services |
| 708 | Business reply mail with no services |
| 710 | Priority mail with no services |
| 712 | Priority mail flat rate with no services |
For a detailed list of STIDs, see Appendix A of the USPS Guide to Intelligent Mail Letters and Flats or Service Type Identifiers.

### Mailer ID

A 6- or 9-digit number assigned by the United States Postal Service identifies the specific business sending the mailing. Higher-volume mailers are eligible to receive 6-digit mailer IDs, which have a larger range of associated sequence numbers; lower-volume mailers receive 9-digit mailer IDs. To make it possible to distinguish 6-digit IDs from 9-digit IDs, all 6-digit IDs begin with a digit between 0 and 8 inclusive, while all 9-digit IDs begin with the digit 9.

### Sequence number

A mailer-assigned 6- or 9-digit ID specific to one piece of mail, to identify the specific recipient or household. The mailer must ensure that this number remains unique for a 45-day period after the mail is sent if a full service discount is claimed; otherwise, it does not have to be unique. The sequence number is either 6 or 9 digits, based on the length of the mailer ID. If the mailer ID is 6 digits long, then the sequence number is 9 digits long, and conversely, so that there will always be 15 digits in total when the mailer ID and the sequence number are combined.

### Delivery-point ZIP code

This section of the code may be omitted, but if it is present, the 5-, 9-, or 11-digit forms of the ZIP Code are also encoded in the Intelligent Mail barcode. The full 11-digit form includes the standard 5-digit ZIP code, the ZIP + 4 code, and a 2-digit code indicating the exact delivery point. This is the same information that was encoded in the POSTNET barcode, which the Intelligent Mail barcode replaces.