๐ Code39 Barcode Generator
Code39 (Code 3 of 9) is a 1D barcode format that encodes letters, digits, and a limited set of symbols. Its simple structure is widely supported by barcode scanners, making it common for industrial parts management and internal inventory labels.
Generate a Code39-format 1D barcode, supporting uppercase letters, digits, and a limited set of symbols โ commonly used in industrial and logistics settings. No check digit is required, making it simple for internal inventory labels and similar uses.
How to use
- Enter the text to encode (uppercase letters, digits, and limited symbols only).
- Adjust the foreground and background colors if needed.
- Download the generated barcode as a PNG or SVG.
How the calculation works
Generate Code 39, a one-dimensional barcode widely used in industry and internal asset tracking, from upper-case letters, digits and a few symbols. Allowed characters (43) Upper-case AโZ, digits 0โ9 and the symbols - . space $ / + % Lower-case letters are converted to upper case automatically. The name comes from each character using nine bars and spaces, three of them wide. A โ*โ start/stop character is added automatically at each end. It is a simple, robust symbology that rarely misreads even without a check digit.
Worked example
โHELLO-123โ โ a barcode that reads as *HELLO-123* โASSET-0042โ โ an asset label for office equipment Each character is wide, so for the same text a Code 39 barcode is longer than Code 128.
Things to be aware of
- Japanese and case-sensitive lower-case text cannot be represented. Use Code 128 or a QR code if you need them.
- โ*โ is reserved as the start/stop character and cannot appear in the data.
- It remains common in places with long-standing systems, such as the car industry and government asset management.
FAQ
Which characters are supported?
Only uppercase letters (A-Z), digits (0-9), and the symbols - . space $ / + %. Lowercase letters are automatically converted to uppercase.
Does Code39 require a check digit?
No, Code39 is a relatively simple barcode format that typically doesn't require a check digit in standard use (though some implementations optionally add one).
How does this differ from a JAN/EAN code?
JAN codes (EAN-13) are numeric-only, fixed at 13 digits, and mainly used for retail products, while Code39 supports letters, digits, and symbols with variable length โ making it better suited for things like industrial asset tags or internal inventory numbers.