Questions? Search our site or call us at 1-800-722-6004

Code 39 Barcodes

Code 39 is the most popular symbology in the non retail world and is used extensively in manufacturing, military, and health applications. Each Code 39 bar code is framed by a start/stop character represented by an asterisk (*). The Asterisk is reserved for this purpose and may not be used in the body of a message. B-Coder automatically adds the start and stop character to each bar code therefore you should not include them as part of your bar code message. If you select the NORMAL version of CODE 39 and your bar code text contains lower case characters, B-Coder will convert them to upper case. If your bar code message contains any invalid characters, B-Coder will prompt you with a warning message (if the Enable Invalid Warning Messages option is selected in the Preferences menu).

Code 39 optionally allows for a (modulo 43) check character in cases where data security is important. The health care industry has adopted the use of this check character for health care applications.

Another feature of Code 39 allows for concatenation of two or more bar codes. It is sometimes advantageous to break long messages into multiple, shorter, symbols. If the first data character of a Code 39 symbol is a space, some readers will store the remainder of the symbol in a buffer and not transmit the data. This operation continues for all successive Code 39 symbols with a leading space, with each message appended to the previous one.

When a message without a leading space is read, it is appended to the previously scanned data in the buffer and the entire buffer is transmitted as one long message.

The FULL ASCII version of Code 39 is a modification of the NORMAL (standard) version that can encode the complete 128 ASCII character set (including asterisks). The Full ASCII version is implemented by using the four characters: $/+%. as shift characters to change the meanings of the rest of the characters in the Normal Code 39 character set. Because the Full ASCII version uses shift characters in combination with other standard characters to represent data not in the Normal Code 39 character set, each non-standard character requires twice the width of a standard character in a printed symbol. 

Note: Because all of the characters used to implement Full ASCII Code 39 are part of the Normal Code 39 character set, readers that do not support Full ASCII Code 39 will still read Full ASCII Code 39 symbols. The reader will output shifted characters as if they were normal Code 39 characters.


"I can't thank you enough. You've solved all of my problems and I am collecting data as you read this, I'm sure. It's nice to know that you guys are as easy to work with as your software is."

Chris Johnson, SR Project Engineer Advanced Medical Optics

"There is not a person I would rather recommend to someone than you. Boy, if every support person was like you, people would have to learn to speak without curse words, the average blood pressure of users/customers would drop significantly, etc.. I'd be more than happy to talk with any potential users (of TALtech software)."

Tom Barth PriceWaterhouseCoopers

News & Updates