Code 39 (3 OF 9)
Home >
Label Basics > Code39
Barcode
Code 39 is widely
used in many industries and is the standard for many government barcode specifications,
including the U.S. Department of Defense. Code 39 is defined in American National
Standards Institute (ANSI) standard MH10.8M-1983, and is also known as USD-3 and 3 of 9.
The Code 39 character set includes the digits 0-9, the letters A-Z (upper case only),
and the following symbols: space, minus (-), plus (+), period (.), dollar sign ($), slash
(/), and percent (%). A special start/stop character is placed at the beginning and end of
each barcode. The barcode may be of any length, although more than 25 characters
really begins to push the bounds.
Each character consists of 9 elements: 5 bars and 4 spaces. Each character includes 3
wide and 6 narrow elements. Characters are separated by an inter-character gap which is
the same width as a narrow bar. The ratio of wide:narrow bar width may be in the range of
1.8 to 3.4. Barcodes with a narrow bar width of less than 0.020 inches (0.508mm) should
have a ratio of at least 2.5. A ratio of 3.0 is recommended. Every Code 39 barcode should
be preceded and followed by a quiet zone the width of at least 10 narrow bars.
Code 39 does not require a checksum, although a modulo 43 check digit may may be
appended for increased data integrity (the Mod 43 checksum is seldom used). Code 39
is just about the only type of barcode in common use that does not require a checksum.
This makes it especially attractive for applications where it is inconvenient,
difficult, or impossible to perform calculations each time a barcode is printed. For
example, when performing a word processor merge operation there is generally no easy way
to calculated a checksum if one of the merge data fields is to be barcoded. With
Code 39, however, no checksum is needed; the merge template document must simply add a
fixed asterisk (*) before and after the data and print the field using a Code 39 barcode
font.
Extended Code 39
Extended Code 39 was developed to provide a means of encoding additional characters
that are not normally part of the Code 39 character set (lower case characters and
symbols). Extended charcters are encoded by a pair of normal Code 39 characters; for
example, a lower case 'a' (not part of the standard Code 39 character set) can be encoded
by the pair '+A'. A carriage return control code can be encoded by the pair '$M'.
Tips...
Code 39 can be read by just about every scanner on the market. It is widely used for
in-house solutions; that is, applications where the barcodes will be used internally. It
is also used for transferring data between companies. For example, the Automotive Industry
Action Group (AIAG) defines a set of labeling standards for marking inter-company
shipments within the industry; these labels use Code 39.
When planning a system, a useful technique to help protect against errors is to include
a prefix character in every barcode. For example, product identification numbers might
begin with a "P" while quantities might begin with a "Q". If the
operator is asked to scan a part number, the scanner can check for the presence of the
"P" prefix and immediately reject the scan if it is not there.