๐Ÿ“Š Code39 Barcode Generator

Allowed: A-Z, 0-9, - . space $ / + %
Foreground#000000
Background#ffffff

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

  1. Enter the text to encode (uppercase letters, digits, and limited symbols only).
  2. Adjust the foreground and background colors if needed.
  3. 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.