What is Code 39?
Code 39, also called Code 3 of 9 or USD-3, dates from 1974 and was the first barcode that could hold letters as well as numbers. It is still common in places that adopted barcodes early: US defence logistics (LOGMARS), the car industry, hospitals, libraries, ID badges and asset tags. Its name comes from its pattern: each character has 9 elements, 3 of them wide.
| Characters | A–Z (capitals only), 0–9, space and - . $ / + % |
|---|---|
| Start/stop | An asterisk (*) at each end, added automatically |
| Check character | Optional (modulo 43) |
| Density | Low: about 50% wider than Code 128 for the same data |
| Used for | Asset tags, badges, VIN labels, AIAG automotive, LOGMARS |
How to make a Code 39 barcode
- Type your value. Lower-case letters are turned into capitals, because Code 39 has none.
- Tick Add a Code 39 check character only if your scanner or system expects one. Most don't.
- Pick a bar width: Code 39 gets wide quickly, so keep values short.
- Download, or make a numbered run of asset tags with the bulk generator.
About the asterisks
Every Code 39 barcode starts and ends with an asterisk, the start/stop character. If you use a Code 39 font in Word or Excel, you have to type *ABC123* yourself. Here they're added automatically, and if you paste a value that already has them, we remove the extra ones.
When to choose Code 39
Choose it when a customer, government contract or existing scanner setup asks for it. For anything new, Code 128 is narrower, holds lower-case letters and has a built-in check. Read more in Code 128 vs Code 39.
