The information provided here describes how to create and implement
the various types of automation used by the United States Postal Service
(USPS). Information about barcode generation, printing and verification
is provided for Postnet, Planet, GS1-128, EAN-128, FIM, OCR-A and USPS
Intelligent Mail® Barcode (aka: OneCode Solution 4-State Customer Barcode)
Formatting and Printing of USPS barcode types:
Postnet - used to encode the
zip code and delivery point.
Planet - tracks both inbound
and outbound letter mail.
The POSTNET (Postal Numeric Encoding Technique) barcode type was
developed by the U. S. Post Office to encode zip code information. POSTNET
barcodes on U.S. mail improve the speed, accuracy and delivery of mail.
Some U.S. Post Offices also offer a discount for sending bulk mail that
contains the POSTNET barcode. However, the USPS plans to require the
Intelligent Mail barcode to qualify for automation discounts beginning
January of 2009. For this reason, IDAutomation has implemented unique
IDAutomation Postnet Fonts, which allow printing of Postnet, Planet
and Intelligent Mail barcodes with the same font, to meet the requirements
today with the needs of tomorrow.
from example data above:
12345123412 After the string is obtained,
it is encoded with IDAutomation's products.
POSTNET barcodes can be printed as a 5-digit POSTNET
barcode, ZIP+4 POSTNET barcode or a Delivery Point Barcode,
which is also referred to as DPBC. If unsure as to which
method to use, contact the local post office for assistance.
The 5-digit POSTNET barcode consists of the start/stop
character, 5 digit ZIP code data, check digit and the
start/stop character, for a total of 32 bars.
The ZIP+4 POSTNET barcode consists of the start/stop
character, 9-digit ZIP code data, check digit and the
start/stop character, for a total of 52 bars.
The DPBC POSTNET barcode consists of the start/stop
character, 9-digit ZIP code data, two DPBC numbers,
check digit and the start/stop character, for a total
of 62 bars. The two DPBC numbers are usually the last
two digits of the street address, PO Box or route number.
If the plan is to use DPBC, examine chapter 5 of the
USPS Domestic Mail Manual
for information on handling abnormal addresses.
Generating a barcode:
After the string is obtained, it is sent to the component
or application to generate a barcode image. The following
is an image generated from the example string:
The size of the POSTNET barcode must be between 22 and
24 bars per inch. The size may be adjusted by setting the
narrow bar width. Additional font widths are provided with
IDAutomation Postnet Barcode Fonts for this purpose.
Location of the symbol:
The POSTNET barcodes must be printed on specific areas
of mail, usually directly below the address. For more information
about the formatting and placement of POSTNET barcodes or
FIM symbol placement, refer to
Chapter 5 of the USPS
document Domestic Mail Manual and USPS Publication 25 or
contact the local post office Automation Specialist for
Intelligent Mail &
Create Intelligent Mail Barcodes using Postnet Barcode Fonts
USPS Intelligent Mail (Aka: OneCode, the 4-State Customer Barcode,
4CB and USPS4CB) includes a height-modulated barcode designed for use
in high speed, automated, mail sorting machines that allow both PLANET
and POSTNET barcode information to be combined into a single barcode
to track mailings, request address-quality services (including updated
address-change information) and return-mail service. The unique encoding
IDAutomation Postnet Barcode Fonts allows printing of Postnet, Planet
and Intelligent Mail barcodes with the same font.
The USPS Planet barcode is designed to track both inbound and outbound
letter mail. The Planet barcodes complement the existing Postnet barcodes.
The Planet barcodes are required by the U. S. Post Office to use their
USPS Intelligent Mail OneCode Confirm should be considered for new
implementations of this barcode type, because it combines Postnet and
Planet data into a single barcode symbol.
CONFIRM provides confirmation that customers received the mail, allowing
mailers to synchronize telemarketing programs with direct mail campaigns
or augment other advertising media with their mailings.
Confirm is built on the PLANET Code, a 12-digit barcode:
The first two digits represent the service (21=Origin Confirm
or 22=Destination Confirm).
The next nine digits identify the mail piece (see Figures 2
and 3 in section 5, from the
for more detail).
The 12th digit is a checksum digit that helps USPS detect errors.
For more information about printing and generating PLANET barcodes,
Contact the USPS manager of the
at the post office to receive more information on the formatting and
placement of PLANET barcodes.
USPS EAN-128 / GS1-128
The United States Postal Service uses the EAN-128 barcode (also known
as Code 128 and GS1-128) for special services such as delivery confirmation.
When used for the USPS, the IDAutomationC128L font provided in
128 Barcode Font Advantage Package and the
Postnet Barcode Font Advantage Package should be printed at 16 points,
which will produce a height of .75" and an X dimension of .013"
as required. The IDAutomationC128M font may also be used at 18
points to achieve a greater X dimension (a wider barcode) with the same
OCR-A is not a barcode, but a font that enables text to be easily
read by OCR (Optical Character Recognition) scanners at the post office.
When used for the USPS, the IDAutomationOCRa font provided in
Font Advantage Package and the
Postnet Barcode Font Advantage Package should be printed at 9 points.
This size is required for USPS scanners to automatically read the address
when the barcode is unavailable or not readable.
Before sending the printed barcodes to the post office, IDAutomation
suggests verifying the result with a verifier, which is provided in
the form of a
hand-held 2D barcode image reader. The image reader will grade the
barcodes with a quality assurance test and report possible problems.
Below is an example of the output received when scanning a Postnet barcode
IDAutomation 2D Barcode Scanner:
>>> PQA <<< POSTNET: 62 Bars, nominally
from 02.54 to 03.05 in. in Width Bar Sequence: 10011000110011001100010100000111100000110100011000101010011001
[A] (Ok) < Tall Bar Heights: 0.130 in. [B] (Hi) < Short Bar
Heights: 0.058 in. [A] (Ok) < Bar Widths = 0.021 in. [A] (Ok) <
Inter-Bar Gaps = 0.024 in.
To manually calculate the check digit for the
Ensure the start/stop character is added to the beginning
and ending of every Postnet barcode. When using
IDAutomation Postnet Barcode Fonts, the parentheses
are used for start and stop characters; "(" for
start and ")" for stop. Start and stop codes are
also located at the "!, *, s, and S" characters
in the font.
The last digit of the printed POSTNET barcode symbol
is a check digit. The check digit is obtained by determining
the number, that when added to the sum of all numbers in
the POSTNET code, will produce a multiple of 10. For example;
the check digit for the POSTNET number of 33727-1426 is
5 because (3+3+7+2+7+1+4+2+6=35 and 35+5=40) Therefore,
the sum of all POSTNET data including the check digit must
be a multiple of 10.
The actual font characters used to print this POSTNET
code would be (3372714265).