Code 39

Code39 Structure (From left to right)
A start character – the asterisk (*)
Message encoded
A stop character – the second asterisk (*)

Code 39 is of variable length and is the most frequently used symbology in industrial bar code systems today. The principal feature is that it encodes messages using a full alphanumeric character set. Three of the nine elements (bars) are wide and six elements are narrow. The Code 39 barcode uses four special characters "$", "/", "+", and "%" which allow a full ASCII character set when paired with alphanumeric characters.

Code 39 is designed to encode 26 upper case letters, 10 digits and 7 special characters:

A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
-, ., *, $, /, +, %, SPACE.

It is called code 39 or three of nine because each encoded character is made up of 5 bars and 4 spaces to make a total of 9 elements. Also 3 out of the 9 elements are always wide.

The height of the bars must be at least 0.15 times the symbol's length or 0.25 inches, whichever is larger.

Code 39 is a discrete symbology. Two adjacent characters are separated by an inter-character gap. To achieve good barcode quality, the width of the inter-character gap should equal the width of the narrowest element, called X.

Code39 requires a starting quiet zone with a minimum 10 times the X dimension or 0.10 inch, whichever is greater. The same width requirement also applies to the trailing quiet zone.