Standard CODE39 accepts A-Z, 0-9, space, and -.$/+%
CODE39 Character Set
CODE39 (also known as Code 3 of 9) is a variable-length, self-checking barcode that can encode:
CODE39 Extended can encode all 128 ASCII characters by using combinations of standard CODE39 characters.
Industrial Part Number
Document Control Number
Asset Tracking
Manufacturing
Inventory control, work-in-progress tracking, and parts identification
Healthcare
Patient wristbands, specimen tracking, and medical record management
Government
Document tracking, asset management, and identification systems
Laboratory
Sample identification, testing process control, and reporting
CODE39 vs CODE128 Comparison
Feature | CODE39 | CODE128 |
---|---|---|
Character Set | 43 characters (Standard) 128 ASCII chars (Extended) |
All 128 ASCII characters natively |
Density | Low density, generally larger | High density, more compact |
Check Digit | Optional (Mod 43) | Mandatory (built-in) |
Compatibility | Very widely supported by scanners | Widely supported by modern scanners |
Self-Checking | Yes, inherent in the format | Yes, with check digit |
Ideal For | Applications requiring compatibility across legacy systems | Applications requiring higher data density or full ASCII |
CODE39 Barcode Generator: Creating Reliable Barcodes for Industry Standards
CODE39 (also known as Code 3 of 9) is one of the most widely used barcode symbologies in non-retail environments due to its simplicity, reliability, and broad compatibility with barcode scanners. Our free online CODE39 generator allows you to create standards-compliant barcodes instantly for industrial, healthcare, government, and many other applications.
What is a CODE39 Barcode?
CODE39 was developed in 1974 as one of the first alphanumeric barcode symbologies, capable of encoding uppercase letters (A-Z), numbers (0-9), and a few special characters (- . $ / + % space). It's called "Code 3 of 9" because the original specification defined each character to be represented by 9 elements (5 bars and 4 spaces) with 3 of those elements being wide and the remaining 6 narrow. This self-checking design makes CODE39 highly reliable even without a check digit, though an optional Modulo 43 check character can be added for additional verification.
Standard CODE39 vs. Extended CODE39
CODE39 comes in two variations:
- Standard CODE39: Natively encodes 43 characters (uppercase A-Z, 0-9, and the special characters space, -, ., $, /, +, and %). This is the most widely compatible version and sufficient for most industrial applications.
- Extended CODE39: Allows encoding of all 128 ASCII characters by using combinations of standard CODE39 characters. This enables lowercase letters, additional symbols, and control characters, but requires a scanner configured to interpret these extended sequences.
Our generator supports both standard and extended CODE39, giving you the flexibility to choose the format that best suits your requirements.
Applications for CODE39 Barcodes
CODE39 is used across numerous industries where its simplicity and reliability are valued:
- Manufacturing: Inventory control, work-in-progress tracking, and parts identification
- Healthcare: Patient identification wristbands, specimen labeling, and medical record management
- Government: Document tracking, asset management, and identification systems
- Defense/Military: The Department of Defense uses CODE39 for the Unique Identification (UID) marking system and LOGMARS (Logistics Applications of Automated Marking and Reading Symbols)
- Automotive: Parts tracking throughout the supply chain
- Libraries: Book labeling and circulation management
Advantages of CODE39
CODE39 offers several advantages that have contributed to its long-standing popularity:
- Universal Compatibility: CODE39 is supported by virtually all barcode scanners, including older models, making it an excellent choice for systems that need to work across a wide range of equipment.
- Self-Checking Format: The symbology itself can detect many common errors without requiring a check digit, though one can be added for additional security.
- Variable Length: Unlike retail barcodes, CODE39 can be any length, allowing for flexibility in the amount of data encoded.
- Alphanumeric Support: The ability to encode letters and numbers makes it suitable for applications requiring more than just numeric data.
- Intuitive to Read: The start and stop characters (typically represented by asterisks) make it easy to visually identify a CODE39 barcode.
When to Choose CODE39 vs. CODE128
While CODE128 offers higher density and native full ASCII support, CODE39 remains the preferred choice in many applications due to:
- Legacy System Compatibility: If you need to ensure your barcodes work with older scanning equipment, CODE39 is the safer choice.
- Simplicity: CODE39 is easier to implement and has fewer encoding rules than CODE128.
- Industry Standards: Many industries and government agencies have standardized on CODE39, particularly the military and defense sectors.
- Visual Readability: CODE39 is generally easier to recognize visually due to its distinctive pattern.
If maximum data density or a requirement for lowercase letters and additional special characters is your primary concern, CODE128 might be more appropriate. However, for many industrial, healthcare, and government applications, CODE39 continues to be the standard choice due to its reliability and universal compatibility.
CODE39 Technical Specifications
CODE39 barcodes follow specific technical standards to ensure reliable scanning:
- Symbology: Discrete, variable length
- Character Set: 43 characters (standard) / 128 ASCII characters (extended)
- Check Character: Optional Modulo 43
- Quiet Zone: 10X minimum (X = narrow bar width)
- Element Structure: Each character consists of 9 elements (5 bars and 4 spaces), of which 3 are wide and 6 are narrow
- Start/Stop Character: Asterisk (*) is used but is not included in the human-readable portion
- Self-Checking: Yes
- Bidirectional Decoding: Yes
Our generator handles all these technical details automatically to ensure your barcodes are fully compliant with CODE39 specifications and will scan reliably in any environment.