What is a POSTNET Barcode and How Can You Decode It?
The illustration below shows the basic format of a 5-digit zip code POSTNET barcode.

[+] Enlarge Image
Each digit of the zip code is represented by 5 bars, therefore a 5-digit zip code uses 25 bars to represent the numbers. However, whether it represents five-, nine-, or eleven-digit zip code information, the POSTNET barcode is always printed in a format that begins and ends with a frame bar, which appears as a full or tall bar. To ensure POSTNET accuracy during mail processing, a correction character, which is five bars, must be included immediately before the rightmost frame bar of all POSTNET barcodes. The correction character is always the digit that, when added to the sum of the other digits in the barcode, results in a total that is a multiple of 10. For example, the sum of the ZIP+4 barcode 12345-6789 is 45. Adding a correction character of 5 results in the sum of the 10 digits being a multiple of 10.
The basic elements of the POSTNET barcode are binary digits represented as full bars and half bars, which are also referred to as tall bars and short bars. A full bar represents the number 1 and a half bar represents the number 0.
Each code character is made up of five bars, which together represent a single numeric digit. Specific combinations of two full bars and three half bars represent the digits 0 through 9. Only the 10 combinations shown in the Code Elements illustration are valid code characters.These 10 combinations represent all possible combinations of two full bars and three half bars. Also, these combinations are central to POSTNET error recovery because the system interprets any five bars that contain a combination other than two full and three half bars as an error.
The weights of the digits are not the same as standard binary, where the values are 1, 2, 4, 8, and 16 from the least to the most significant digit. Instead, the digits are weighted as 0, 1, 2, 4, and 7. Except for zero, you can determine the numeric value of each valid combination of five bars by adding the weights of the two positions occupied by the full bars (1s). For example, the combination 01010 contains a full bar in the second position (weight 4) and in the fourth position (weight 1). Adding 4 and 1 yields 5, which is the assigned value of this combination. The only exception is the combination 11000, which has a total weight of 11 but is assigned a value of zero.

For more detailed information see the link below.
Related Links:
POSTNET Bar Codes - US Postal Service
Using Vision to Decode a POSTNET Formatted Barcode
Reader Comments | Submit a comment »
Excellent!
This article is concise and clear. Thanks!
- Ed Dorsey, SBCS. evdorsey@sbcs.com - Nov 5, 2009
Perfect answer
Exactly what I needed to interpret Postnet
bar codes. After a printer got one place
wrong and sent our mail halfway cross
country, this is a big help to keep us and
our printers straight.
- Lindsey McWilliams, Humboldt County Elections. lmcwilliams@co.humboldt.ca.us - May 3, 2007
Not Confusing or Inaccurate
This article is clear and concise. The
part of the article that a previous critic did
not read or understand is the 2 of 5 bars
in each of the characters is used for
correction. The whole 2 of 5 with a
correction character design works like
this: The scanner looks at each
character (5 bars). If one character has
only 1 tall bar, the correction character is
used to determine the value of the
missed character. It's not a perfect
system because if there is more than 1
tall bar missing the mail piece would get
rejected. It's time proven to be a very
reliable method.
- M. Dinger. notarealemailaddress@hotmail.com - Oct 11, 2006
Excellent article greatly helped me for a
class. One thing I would recommend would be
to setup a flash or a java script program
where there is a interactive approach to
understanding the material to gain some
hands-on experience.
- James - Oct 2, 2005
Confussing and inaccurate
The article does not explain why some digits
have a 1 and others have a 0 for the
weighting value of zero. The 7,4,2,1 part
makes sense, weighting of zero?
- Roger. Rogbaker@mpinet.com - Jul 19, 2005
Decoding document commentary
Precisely the information for which I
searched presented with minimal superfluous
information and in an easily understood
format. The only downside is that it was
about number 18 on the search engine listing
and I had to scan a few to get to it. I
should find all information this easily!
- Louis Oberbeck, The Darkroom Plus. tdrp@juno.com - Jan 18, 2005
Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).
