Barcode Technology

Barcode History

Barcode Label Paper

Barcode Printer

Barcode Application

Inventory Management

AI Barcode QRCode

Barcode Scanner

Barcode Software

Barcode Software B

Barcode Software C

Barcode Software D

Barcode Software E

New Technology A

New Technology B

Robot Technology

Barcode Types

Barcode Types B

Barcode Types C

Barcode Types D

Barcode Types E

Barcode Types F

Electronic Technology

Psychology at Work

Barcode Technology and Barcode Software Related   <<< Back to Directory <<<

Code 39 Barcodes: A Technical Deep Dive Into the Iconic (Code 3 of 9) (P46)

Chapter 46: Why It Remained Popular Despite Flaws

Summary: The Unlikely Survivor

It was not the densest barcode. It was not the most secure. It was not the most aesthetically pleasing, nor was it the most efficient in terms of space. By the standards of modern data encoding, Code 39---affectionately known as 'Code 3 of 9'---had significant technical flaws. It required a relatively large amount of physical space to print, its character set was limited, and it lacked a mandatory check digit to prevent errors.

Yet, despite these shortcomings, Code 39 became one of the most successful and enduring symbologies in the history of automatic identification. It did not survive despite its flaws; it thrived because of a specific set of circumstances that aligned perfectly with the needs of a burgeoning industrial age. Its popularity was not a product of technical perfection but of practical inevitability. It was free, open, and unencumbered by patents from its inception in 1974, making it the default choice for internal systems throughout the 1980s and beyond.

The Unbeatable Price: Free

To understand the dominance of Code 39, one must first understand the commercial landscape of the 1970s and 1980s. The Universal Product Code (UPC), which had debuted in 1974, was a marvel of engineering, but it was tightly controlled. To use a UPC symbol, a company had to pay licensing fees and adhere to strict regulations regarding its format and application. This was acceptable for grocery stores and large retailers who had the capital to invest in a proprietary ecosystem, but it was a significant barrier for everyone else.

Code 39 offered a radical alternative: zero cost. Because it was developed by Intermec Corporation (then Interface Mechanisms Inc.) as an open system, there were no licensing fees attached to its use. A company could print Code 39 symbols on labels, documents, or parts without paying a cent to a governing body or patent holder. This was revolutionary. In the world of manufacturing, where budgets were tight and internal systems varied wildly, 'free' was a compelling argument.

A 1985 article in *Tooling & Production* magazine captured the zeitgeist of the era, asking a question that resonated with plant managers everywhere: 'The technology looks interesting,' you may say, 'but why should I spend time, effort, and money to implement a bar code system in my plant' The answer was simple: it saved money. The article noted that scanning data was drastically faster than manual key entry---taking 0.3 to 2 seconds compared to six seconds for a 12-character field---and this speed translated directly to cost savings. Code 39 was the key to unlocking these savings because it was accessible to everyone without the barrier of licensing fees.

This zero-cost model allowed Code 39 to become the 'duct tape' of data collection. If a plant wanted to track work-in-progress, manage inventory, or automate a shipping department, they could implement Code 39 immediately without legal or financial red tape. This ease of adoption created a network effect: the more companies used it, the more standard it became, and the more scanner manufacturers built support for it into their hardware.

Technical Characteristics and Their Practical Implications

Code 39 is defined by its unique structure. Each character---whether a number, letter, or symbol---is encoded using nine elements: five bars and four spaces. Of those nine elements, three are wide and six are narrow. This 'three of nine' pattern is where the symbology gets its name. While this design has technical drawbacks, it also provides a series of practical advantages that made it ideal for the rough-and-tumble world of industry.

The Self-Checking Advantage

One of the most significant features of Code 39 is that it is 'self-checking.' Because each character has a fixed number of wide elements (three), if a scanner misreads a character and detects, for example, four wide elements, it knows an error has occurred. This built-in parity check allows the scanner to reject a misread character immediately.

This feature was critical in industrial environments where labels were often printed on low-quality dot-matrix printers, subjected to grease and dirt, or scanned in poor lighting conditions. The self-checking nature of Code 39 meant that these harsh conditions could be tolerated to a certain extent, reducing the risk of a 'misread' that could send a part to the wrong assembly line or charge a customer for the wrong product. While modern codes like Code 128 are more space-efficient and offer more robust error correction, Code 39's self-checking mechanism provided a level of 'foolproofness' that was highly valued in the 1980s.

Alphanumeric Encoding

Perhaps the most important innovation of Code 39 was its ability to encode letters (A-Z) in addition to numbers (0-9). Before Code 39, most barcodes were strictly numeric. The UPC, for example, could only encode digits. Code 39 was the first symbology to offer full alphanumeric capability. This allowed manufacturers to encode Part Numbers, Serial Numbers, and Stock Keeping Units (SKUs) directly onto parts and labels without relying on a separate database to translate a number back into a meaningful identifier.

In the automotive and electronics industries, this was a game-changer. A part could be labeled 'A123B45' and scanned directly, eliminating the need for a lookup table. This ability to encode meaningful human-readable data alongside the machine-readable bars is a hallmark of Code 39 that kept it relevant for decades.

Variable Length and Flexibility

Code 39 is a discrete, variable-length symbology. This means that each character is encoded independently (with a small intercharacter gap), and there is no theoretical limit to the number of characters that can be encoded in a single symbol. In practice, most implementations limit the length to 20-50 characters to ensure readability, but the flexibility was---and is---a major boon for system designers.

In the 1980s, inventory management systems were often bespoke. A factory might need to encode a complex Bill of Materials number on a component; a hospital might need to encode a lengthy patient ID; a warehouse might need to encode a shipping code with specific routing instructions. Code 39 could accommodate all of these without forcing the user to truncate data or adopt a rigid data structure. This flexibility made it an attractive choice for internal systems where the 'one-size-fits-all' approach of retail barcodes simply didn't work.

Industry Applications: The Sectors That Built Code 39

The technical characteristics of Code 39---self-checking, alphanumeric, variable length, and free---intersected with the needs of specific industries to create a symbiosis that has lasted over fifty years. The following sections detail how Code 39 was applied across multiple sectors, leveraging its strengths and often compensating for its weaknesses.

The LOGMARS System: Military Logistics

Perhaps the most famous and influential adoption of Code 39 was by the U.S. Department of Defense. The military implemented the LOGMARS (Logistics Applications of Automated Marking and Reading Symbols) system to track supplies, equipment, and parts. This was a massive undertaking, requiring thousands of suppliers to label their products with Code 39 barcodes.

The military's requirements were stringent. The codes had to be durable, readable, and reliable under extreme conditions. Code 39, with its simple structure and self-checking nature, was deemed robust enough for the task. The LOGMARS system effectively standardized Code 39 across the defense industry, forcing defense contractors to adopt it for their manufacturing and shipping processes. This military adoption created a massive installed base of Code 39 scanners and printers, further cementing its status as the industrial standard. Even today, Code 39 remains common in defense projects, a testament to the enduring power of government standardization.

Automotive Manufacturing: The Supply Chain Revolution

Vehicle manufacturers were among the first to recognize the power of Code 39 for managing complex supply chains. In the 1980s, as the industry became more globalized and 'Just in Time' (JIT) manufacturing gained traction, the need for automated tracking of parts became critical. Automotive companies began asking their suppliers to apply bar codes not only to shipping labels and containers but also to certain key parts themselves.

Code 39 was the ideal vehicle for this demand. Suppliers could print labels on demand using simple, cheap printers. The alphanumeric capability meant that parts could be tracked by their specific part numbers, and the variable length allowed for detailed serialization. In the automotive industry, where a single car has thousands of parts, the ability to trace a specific batch of components back to its manufacturing source is crucial for quality control, recalls, and warranty management.

By scanning Code 39 labels on incoming parts, an automotive assembly plant could automatically update its inventory system, verify that the right parts were at the right station, and ensure that the correct engine or transmission was installed in the correct chassis. This level of automation, enabled by Code 39, was a key driver of the productivity gains seen in the auto industry over the last four decades. Today, Code 39 is still extensively used in automotive manufacturing for part identification and tracking, a testament to its durability and the legacy of its infrastructure.

Healthcare and Pharmaceuticals: Patient Safety and Inventory

The healthcare sector, particularly in the United States, adopted Code 39 for a specific and critical purpose: patient identification. In the absence of a national healthcare identifier, hospitals often used wristbands with Code 39 barcodes to encode patient names, medical record numbers, and other vital data. Nurses would scan these wristbands before administering medication, taking blood, or performing procedures to ensure they had the right patient.

While newer symbologies have since taken over many healthcare applications due to the need for smaller labels on vials and ampoules (Code 39 is too large to fit on a small pill bottle), Code 39 maintained a stronghold in this sector for decades. In Europe, particularly in Germany, Code 39 was adopted for pharmaceutical product identification in warehousing, reflecting its suitability for inventory management of larger items.

In hospitals, the ability to scan a wristband quickly and accurately outweighed the issue of space. The labels could be printed on demand at the admissions desk, and the robust nature of the code meant it could survive the wear and tear of a patient's stay. Code 39 facilitated the digitalization of patient name badges and medical records, reducing the risk of misidentification errors.

Government and Defense (Beyond LOGMARS)

Beyond the military, other government agencies adopted Code 39 for various purposes. The U.S. Customs and Border Protection utilized Code 39 with a Modulo 43 check digit for import/export shipping documentation. Customs forms often require a unique identifier to track a shipment through the clearance process, and Code 39 provided a reliable way to encode these identifying numbers on forms that could be scanned at various points in the supply chain.

The U.S. government's adoption of Code 39 had a cascading effect. Any company doing business with the government had to comply with labeling requirements. This external pressure forced private companies to adopt the technology internally as well, further expanding its reach.

Industrial Automation and Equipment Tracking

In factories, Code 39 became the standard for tracking equipment and tooling. Industrial automation equipment, such as robots, conveyor belts, and CNC machines, were often tagged with Code 39 labels. By scanning these labels, a maintenance team could quickly access the equipment's usage status, maintenance records, and fault information. This allowed for predictive maintenance, reducing downtime and improving the overall reliability of factory operations.

In electronics manufacturing, where components are small but valuable, Code 39 was used to track circuit boards and component trays. While the large size of Code 39 sometimes made it impractical for labeling the smallest components (requiring other symbologies like PDF417 or Data Matrix), it remained a workhorse for identifying the larger packaging units, such as reels of resistors or boxes of chips. It helped improve the efficiency of inventory management and allowed for the tracking of manufacturing dates and batch numbers.

Logistics and Warehousing: The Backbone of Supply Chains

In logistics and warehousing, Code 39 labels were ubiquitous. The ability to print a Code 39 barcode on a standard shipping label using a simple font made it the go-to choice for parcel tracking and inventory management. Each shipment could be given a unique Pro Number (ProNum) encoded in Code 39, enabling logistics companies to track its journey through their distribution network.

The use of font-based barcodes---where the barcode is simply a specialized font installed on a word processor---made it exceptionally easy to integrate into existing paperwork. A Bill of Lading or a pick list could be printed with Code 39 barcodes without needing specialized labeling software. This simplicity was a major factor in its adoption in the warehousing industry, where it remained popular due to its simplicity and reliability.

The 'Flaws' and How They Were Managed

While Code 39's popularity was undeniable, its technical limitations were well known.

Space Efficiency (or Lack Thereof)

Code 39 is a low-density barcode. Because each character requires nine elements to encode, it takes up significantly more space than a numeric code like Interleaved 2 of 5 or a more modern code like Code 128. This was a problem as labels became smaller and data requirements increased. To compensate, many implementers simply used larger labels or encoded shorter data strings. If the available space for printing was of concern, companies were often advised to consider other symbologies for purely numeric data, as Code 39 used about twice the space of Interleaved 2 of 5.

The Check Digit Issue

Code 39 does not require a check digit. While it is self-checking, this only ensures that the individual character has been read correctly (i.e., the pattern of wide and narrow bars matches an expected pattern). It does not guarantee that the *sequence* of characters is correct. A missing character or a misread could still result in a valid but incorrect data string.

To address this, the standard includes an optional Modulo 43 check character. When this is used, the scanner performs a mathematical calculation on the decoded data and verifies it against the check character. The U.S. Customs and other critical applications mandated this check digit. For many internal systems, however, the self-checking nature of the code was considered 'good enough' for the risk profile of the application (e.g., tracking a pallet of tires vs. tracking a missile component).

Limited Character Set

The original Code 39 only supports 43 characters: A-Z, 0-9, and a few symbols (-, ., $, /, +, %, and space). It does not support lowercase letters or many common symbols. This was a significant limitation for modern computing.

To work around this, the symbology was extended. 'Code 39 Full ASCII' allows encoding all 128 ASCII characters by using two-character combinations of Code 39 symbols. For example, a lowercase 'a' is encoded as the combination of '+A'. While this allows for lowercase and punctuation, it effectively doubles the length of the barcode, exacerbating the space issue. While this extension existed, many implementers simply standardized on uppercase letters and numbers to avoid the complexity and density penalty.

Conclusion: The Enduring Legacy

Code 39 is a testament to the power of 'good enough' technology that is free and easy to use. It was not the best barcode ever invented, but it was the most accessible.

Technical Summary:

Technically, Code 39 is a discrete, variable-length symbology that encodes 43 characters (A-Z, 0-9, and symbols) using five bars and four spaces. Each character is self-checking due to the 'three of nine' wide elements pattern. It is defined by the ISO/IEC 16388 standard. Its low density (requiring about twice the space of Interleaved 2 of 5 for numeric data) and optional check digit (Modulo 43) are its primary drawbacks. Its ability to encode letters as easily as numbers was its primary technical advantage.

Industry Summary:

Industrially, Code 39 became the default standard for internal systems in the 1980s. It was the engine behind the LOGMARS military logistics system. It was the language of the automotive supply chain. It was the wristband that identified hospital patients. It was the barcode on shipping labels and Bills of Lading. It tracked electronic components, industrial machinery, and government documents. Its adoption in these varied sectors created a massive infrastructure of scanners, printers, and expertise that made it nearly impossible to displace.

The Verdict:

Why did Code 39 remain popular despite its flawsBecause it was good enough, and it was free. In the 1980s, when industries were desperate to automate, a 'free' and 'good enough' solution was infinitely more valuable than a perfect but expensive and locked-down one. The investment in Code 39 hardware and training created a powerful legacy. While new codes like Code 128 offer higher density and better security, they arrived later when Code 39 was already deeply embedded in the global supply chain.

Today, Code 39 is no longer the cutting edge, but it is far from extinct. It survives in niche applications, legacy systems, and any environment where simplicity and backwards compatibility are valued over density. It serves as a powerful reminder that in the world of technology, the best solution is not always the most elegant one, but the one that solves the problem for the most people at the right price. It earned its place in history by being the barcode that was there when the world needed to track things, and it continues to print and scan, quietly holding the world of things together.

 

EasierSoft Barcode Label Design & Bulk Printing Software

---- Use Excel Data to Batch Print Barcodes on Label Sheets or Roll Labels  

---- How to use this barcode software

Download:  Free Barcode Software + Barcode Label Designer

Download Free Barcode Software at Softonic

     Download at CNET

Once you obtain a GS1/UPC/EAN barcode, or other barcode type and QR code, you can use our free software to batch print barcode labels onto Roll label paper using a professional label printer, or to batch print barcodes onto Avery 5160 label sheets using a regular laser or inkjet printer. Our software has free and paid versions.

The free version fully meets your needs for batch printing GS1/UPC/EAN barcodes. The paid version can import data from Excel and databases to batch print barcode labels with different values.

How to Start

Input Data

Import Excel Data

Print Barcode

Barcode Format

Label Designer

All Screen Shot

Export Barcode Image

Save Template

Output Word Excel

How to Use & FAQ:

Example: Print barcodes to 5163 label

Example: Print barcodes to 5164 label

Example: Print portrait orientation 5164

Example: Print barcodes to 5167 label

Example: Print barcodes to 5168 label

Example: Print portrait orientation 5168

Example: Print barcodes to 5169 label

Example: Print barcodes to 5660 label

Example: Print barcodes to 5661 label

Example: Print barcodes to 5662 label

Example: Print barcodes to 5663 label

Example: Print barcodes to 5664 label

Example: Print portrait orientation 5664

Example: Print barcodes to 5873 label

Example: Print barcodes to 5874 label

Two ways to import Excel data

Import Excel Data - Pro Edition

Import Excel Data - Std Edition

Import Data from Excel - Detail

Load Data From Excel File

Data Editing Table

Copy Data From Excel

Four ways to input barcode data

Add ASCII Key E

Input Multiple Lines of Text for Barcodes

Generates Sequential Serial Numbers

Import or copy data from Excel sheets

Special sequence number generation

Std Details: Simple Input Form

Std Details: Multiple Line Text Input

Details: Sequence Barcode Generator

Examples: Sequence Barcode Generator

Import Data From Excel Spreadsheet

Barcode Data Correspondence Diagram

Data Editor

Editing a Single Row Data in Form

Batch Editing Multiple Rows of Data

Batch Data Editing - Example 2

Design & print complex barcode labels

Configuring Text Elements on Label

Configuring Barcode Elements on Label

Configuring Image Elements on Label

Setting Line Elements on Label

Designing Labels for 5164 Sheet

Advanced Page Layout Settings

Add Barcode Elements to a Label

Configuring Parameters of a Barcode

Entering Multiple Values for a Barcode

Print barcode labels

Print bulk barcodes - How to start

Highlights

Excel integration: Import data directly from Excel to generate and print barcodes in bulk.

Label designer: Create complex labels with multiple barcodes, text, logos, and shapes.

Batch printing: Print thousands of barcodes at once using standard inkjet/laser printers or professional barcode printers.


Flexible editions:

Standard Edition: Simple batch printing with Excel data.

Professional Edition: Adds command-line automation for workflow integration.

Label Designer Edition: Advanced design features for complex labels.


Why Choose Our Barcode Solutions?

Cost-effective: Free online generator and permanent free desktop version available.

Easy to use: No technical expertise required—just input data and print.

Versatile: Supports nearly all 1D and 2D barcode types, including QR codes.

Trusted: Recommended by CNET and widely downloaded by users worldwide.


Suitable Use Cases

Small businesses and startups needing quick barcode labels for products.

Retailers and online sellers managing inventory with batch barcode printing.

Manufacturers requiring sequential or custom barcode labels for packaging.

Educational and testing environments where barcodes are used for tracking.

 

 

CONTACT

cs@easiersoft.com

If you have any question, please feel free to email us.

 

https://free-barcode.com

 

<<< Back to Directory <<<     Barcode Generator     Barcode Freeware     Privacy Policy