CODE39 is one of the oldest alphanumeric linear barcodes. Each character is represented by 5 bars and 4 spaces, with wide and narrow elements encoding the value. No checksum is required; the encoding is self-checking.
Character set
Uppercase A–Z, digits 0–9, and the characters -, ., $, /, +, %, and space. Total: 43 characters. Lowercase input will produce an error.
Use in practice
CODE39 appears on US Department of Defense labels (MIL-STD-1189), automotive parts (AIAG), and healthcare supply-chain identifiers. It is wider than CODE128 for the same payload, so modern systems often prefer CODE128; however, CODE39 scanners are universal in industries that standardised on it decades ago.