Code39 also known as Code 3 of 9 allows you to encode text using characters A-Z and 0-9 and some punctuation. Using an extended encoding system, it is possible to encode the entire ASCII character set.
Each character is made up of 10 elements where 5 are bars and 5 are spaces. You may have seen this described as 9 elements on other sites where 5 are bars and 4 are spaces but there is always a narrow space stripe between characters which means we might as well consider that trailing narrow space part of each character making the total number of elements 10. The final trailing narrow space simply appears to be absorbed into the quiet zone to the right of the final barcode. There is no check digit in this symbology unlike others. The variation between the width of the bars is what define the value of each character.
In the image below you will notice the start and stop block are the same. In most Code39 fonts,this is encoded as the asterisk (*) character although it is not displayed under the barcode. The text under the barcode is optional and is for human use only. The start and stop asterisks are not decoded when scanned and may or maynot bedisplayed. Also how the text is displayed depends on the process used to create the barcodes. Often, the text is simply under the barcode without the indent displayed in our sample.
Normally, there are only 43 characters that can be encoded using Code39. But if you want to encode the full ASCII characterset, you can prefix letters with special characters to get the characters you need including lower case and special characters. Although it is possible to encode the full ASCII set, if you actually need to do this it is better to use Code128 because it will produce a smaller barcode.
If you want to create your own Code39 barcode, you can visit our very own barcode generator page.