A Description of Code 39

 

Code 39 can represent 26 uppercase letters, 10 digits and 7 special characters. It uses a nine-element wide area to represent each character, five units of which are always black and four units of which are always white. The units can either be wide or narrow, and there are always three wide units (either white or black) in each character representation.

 

The characters are:

 

 

Each wide element in the chart above is two units, and each narrow unit is one unit. This is actually an oversimplification, since the real range of the ratio of wide to narrow bar widths must be between 2.2:1 and 3:1.

 

To create an entire barcode from an arbitrary string, one merely has to group together the bars for all the characters, putting a slight separating white bar in between each. One must then add the representation for * (an asterisk) to the beginning and end of the string (the barcode we generated below does, for instance, even though it may not be obvious). This is necessary for the code to be read correctly; the asterisks tell the reader when the code begins and ends.

 

Optionally, a Code 39 barcode may have a check digit as its last digit (before the second asterisk). The check digit is the modulus 43 sum of all the other digits.

 

Source used in this document:

 http://www.barcodeman.com/info/c39_1.php3