What Code 39 is good for
Code 39, also written Code 3 of 9 or barcode 39, was one of the first barcodes to handle letters as well as numbers. Each character is nine elements wide, three of them wide, which is where the name comes from. It is self-checking, so a misread is unlikely even without a check digit.
It is still required in several places. The automotive industry uses it on parts labels, the US Department of Defense uses it for LOGMARS marking, and many hospitals, libraries and offices print it on ID badges and asset tags. If a system or customer specification asks for Code 39, use this Code 39 barcode generator rather than swapping in Code 128.
Code 39 needs no check digit and no special encoding, so it is also the easiest barcode to print from a basic system. That simplicity is why so many older warehouse, library and access control systems still expect it.
Code 39 character set and limits
- 43 characters: A to Z, 0 to 9, space, and the symbols - . $ / + %.
- Every code starts and ends with an asterisk. The generator adds them for you, and they often show in the text under the bars.
- It is wide. Code 39 needs roughly 40% more space than Code 128 for the same text, so keep values short.
- Some scanners ship with Code 39 turned off. If a label will not read, check the scanner's symbology settings first.
Full ASCII Code 39 and check digits
An extended mode called Full ASCII Code 39 pairs characters to represent lower case and other symbols, for example +A for a small a. Both the printer and the scanner must be set to Full ASCII, or the scan returns the pairs as typed. In practice, if you need lower case, Code 128 is simpler.
Code 39 also has an optional mod 43 check character. Most uses leave it off, because the symbology is already self-checking. Some specifications, such as certain healthcare and military labels, require it, so check yours before printing.
How to create a Code 39 barcode
- Choose Code 39 in the generator.
- Type your value in capitals, for example EMP-10427 for a staff badge.
- Check the preview fits your label. Shorten the value if it is too wide.
- Download SVG for badge or label software, or PNG for documents.
- Print and scan a test copy with the scanner that will be used day to day.
Code 39 in Excel and Word
A common trick is a Code 39 barcode font, where you type *VALUE* and the font draws the bars. It works, but fonts vary, sizes drift and it is easy to forget the asterisks. A downloaded image is more reliable. Make each code here and insert the PNG or SVG into your document or sheet. For step-by-step help, see our barcode label generator page.