The Code 39 barcode symbology was developed by Dr. David Allais and Ray Stevens at Intermec Corporation in the late 1970s. Code 39 barcodes are used to label goods across many industries and are often found in the automotive industry and the US Department of Defense.
The barcode enables the use of both digits and characters. Originally, it could only encode 39 characters, but in its most recent version the character set has been increased to 43 characters that can include numbers, letters and a few symbols. Code 39 barcodes are usually quite large, so they’re easy to recognize visually.
The Code 39 specification allows for the full ASCII character set. The barcode uses the asterisk as both start and stop delimiter, all of which Barcode Producer automatically adds. Each character is composed of nine elements: five bars and four spaces. Three of the nine elements in each character are wide (binary value 1) and six elements are narrow (binary value 0). The width ratio between narrow and wide is not critical and may be chosen between 1:2 and 1:3.
The barcode itself does not contain a check digit, which makes it simple – this is one of the reasons why it remains a popular choice. In a way, Code 39 is self-checking because a single wrongly interpreted bar cannot generate a valid character. For all purposes you'd think of using Code 39, though, you'd be better off using Code 128 as it usually ends up being more compact.
Code 39 does have quite low data density, which means it’s big and so cannot be used for labelling very small goods. Although the Universal Postal Union recommends using Code 128, it is still used by some postal services as it can be decoded with virtually any barcode reader.
Code 39 is now standardized as ANSI MH 10.8 M-1983 and ANSI/AIM BC1/1995, Uniform Symbology Specification — Code 39.
- Inventory management
- Asset tags
- Code 3 of 9