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) (P30)

Chapter 30: The Postal and Parcel Sector

When we think of barcodes today, our minds often jump to the sleek, high-density QR codes on product packaging or the ubiquitous Code 128 labels on Amazon packages. However, beneath the surface of modern logistics lies a history where simpler technologies paved the way. This chapter explores the role of Code 39 in the postal and parcel sector, a domain where the need for reliable, scannable data has always been paramount. While the Universal Postal Union now recommends Code 128 for most applications, the legacy of Code 39 in this sector is undeniable, illustrating a classic technological transition from a pioneering generalist to a specialized successor.

A Brief Overview: Code 39 in the Mail Stream

In the postal and parcel sector, Code 39 was adopted as a pragmatic workhorse. Its primary appeal was its ability to encode alphanumeric characters (A-Z, 0-9) without the need for complex check digit calculations for basic operations, simplifying its integration into existing printing systems. This made it accessible for regional couriers and postal services to implement for destination sorting, as highlighted in the opening vignette. However, its low data density became a significant drawback. For a parcel label that needed to carry an increasing amount of information like tracking numbers, service codes, and routing data, Code 39's physical size became problematic. This limitation drove the shift to more modern symbologies, such as Code 128, which offered higher density and a more robust character set.

The Technical Landscape: Why Code 39 Was a Good Fit

To understand the role of Code 39 in this sector, it's helpful to briefly revisit its technical characteristics. Developed in 1974 by David Allais and Ray Stevens of Intermec, Code 39 was the first barcode to effectively encode alphanumeric data alongside numeric digits. This was a revolutionary step. Before Code 39, many barcodes were purely numeric, like the Universal Product Code (UPC) used in retail.

The 'Three of Nine' Encoding

The name 'Code 39' or 'Code 3 of 9' comes from its encoding structure. Each character in the barcode is represented by a pattern of nine elements: five bars and four spaces. Of these nine elements, three are wide (a binary 1) and six are narrow (a binary 0). This simple, two-width pattern (wide vs. narrow) was computationally light to generate and decode, making it suitable for early barcode readers.

Self-Checking Reliability

A key feature of Code 39 is its self-checking property. Because each character's pattern is distinct, a single printing defect---like a bar being too wide or too narrow---will often result in a pattern that doesn't correspond to any valid character. The scanner can then reject the read instead of misreading it as a different, valid character. This characteristic was crucial in the rough-and-tumble world of mail sorting, where labels often faced dirt, damage, and low-quality printing. While a check digit is optional, the self-checking nature provided a baseline level of error detection that was valuable for operational integrity.

Technical Limitations: The Density Problem

The primary weakness of Code 39 is its low data density. Because every character uses a fixed number of elements, and because it requires an inter-character gap (a space between characters), it takes up a lot of horizontal space. For example, a Code 39 barcode is roughly 40% wider than a Code 128 barcode carrying the same data. As the demands of logistics grew, requiring more information like detailed tracking numbers, the physical dimensions of a Code 39 label could become unwieldy for small packages or letters.

Full ASCII and the Extended Variant

While the base Code 39 character set is limited to 43 characters (uppercase A-Z, 0-9, and a few symbols), an extension called Code 39 Full ASCII, or Code 39 Extended, was developed. This variant encodes the full 128-character ASCII set by combining two standard Code 39 characters. For instance, a lowercase 'a' is represented as '+A'. While this expanded its usefulness, it further exacerbated the density problem, often doubling the width of the barcode for lowercase or special characters.

A Practical Example: The Regional Courier and Destination Sorting

The opening scenario of this chapter---'Some regional couriers used Code 39 on shipping labels for destination sorting'---is a perfect example of early adoption. Imagine a regional courier service in the 1980s or 1990s. They needed a cost-effective way to automate the sorting of packages to their final destinations.

Example: 'ACME Regional Delivery'

ACME Regional Delivery operates in a five-state area. Their trucks bring packages to a central hub each evening. Instead of manually reading handwritten addresses, which is slow and error-prone, they adopt a Code 39-based system.

1. The Label Generation: At the point of origin, a shipping label is printed. The label includes a human-readable address and a Code 39 barcode. This barcode might encode a simple alphanumeric code representing the destination sorting center, for example, 'CHI' for Chicago, 'DET' for Detroit, or a more precise ZIP code like '60601'.

2. The Sorting Process: As packages move along a conveyor belt, an automated barcode scanner reads the Code 39 barcode. The scanner decodes the information and triggers a mechanical diverter that shunts the package onto the correct belt or chute for that specific region.

3. Why Code 39For ACME, the choice of Code 39 was practical. Their printers could easily generate the barcode using a simple barcode font, and their scanners were pre-configured to read it. The lack of a mandatory check digit simplified the label-generation software. The need to encode alphanumeric data was crucial; using a numeric-only barcode like UPC would have required them to maintain a complicated look-up table, where '01' meant 'Chicago', '02' meant 'Detroit', and so on. Code 39 allowed them to use the more intuitive, alphanumeric codes their staff was already familiar with.

The Broadening Application: US Military and the LOGMARS System

Perhaps the most significant driver of Code 39's adoption in logistics was the US Department of Defense's (DoD) LOGMARS (Logistics Applications of Automated Marking and Reading Symbols) system. Starting in the early 1980s, the DoD mandated that all items delivered to it must bear a Code 39 barcode. This requirement, detailed in MIL-STD-130, was intended to streamline the entire military supply chain.

Example: Supplier Labeling for McDonnell Douglas (MDC)

A detailed procurement specification for McDonnell Douglas (MDC), a major aerospace manufacturer, shows the extent to which Code 39 was integrated into shipping processes. Suppliers were required to affix a specific shipping label to all shipments. The standard label had a specific, multi-row format, and much of it was Code 39-encoded.

The label included:

Row Three: This row held the Standard Carrier Alpha Code (SCAC) and a PRO/Air Waybill number for freight tracking. The example given was EWCF2473764172, where 'EWCF' is the SCAC and '2473764172' is the PRO number. This entire string was encoded into a Code 39 barcode.

The Label Specification: The label had to meet specific print quality standards (ANSI X3.182) and often required a first article sample approval. The intent was to ensure that these Code 39 barcodes would scan reliably, no matter which supplier produced the label or which DoD depot received the shipment. The barcodes had to meet the USS-39 (Uniform Symbology Specification for Code 39) standard.

Industry Adoption: Automotive and Health Care

The influence of Code 39 extended well beyond the military and postal sectors. Its reliability and simplicity made it a popular choice in industries that required robust alphanumeric labeling long before more modern symbologies became widespread.

Automotive Industry: The AIAG Standard

The automotive industry, through the Automotive Industry Action Group (AIAG), adopted Code 39 for parts identification. The AIAG B-1 standard, for example, outlines a label format that includes Code 39 barcodes. This allowed automakers and their vast networks of suppliers to track parts seamlessly from the factory floor to the assembly line. A typical automotive part label might use Code 39 to encode the part number, quantity, supplier code, and a serial number.

Healthcare: The HIBC Standard

Similarly, the Health Industry Bar Code (HIBC) standard was built on Code 39. This standard is used to label medical supplies, pharmaceuticals, and patient identification wristbands. In healthcare, the ability to encode alphanumeric data in a reliable, easily printable format was critical. A Code 39 barcode on a wristband could encode a patient's unique identifier, ensuring that the right medication or blood sample was administered to the right patient. The self-checking nature of Code 39 was a significant advantage in this safety-critical environment.

The Transition: Why the Postal Sector Moved On

Despite its successful deployments, the postal and parcel sector ultimately transitioned away from Code 39. This shift was driven by the sector's evolving needs.

The Move to Code 128

Code 128 addressed many of Code 39's core limitations. It is a much denser symbology, allowing a significant amount of data to be encoded in a smaller space. Crucially, Code 128 supports the full 128 ASCII character set natively, meaning it can encode lowercase letters directly without doubling the symbol width. This made it far more efficient for the complex tracking numbers and service codes that are now standard in the industry.

USPS and the Shift in Requirements

The United States Postal Service (USPS) provides a clear historical benchmark. Until January 10, 2004, the USPS allowed Code 39 as one of several valid symbologies for parcel barcodes that were eligible for a discount. The rule stated that for Code 39, the barcode must consist of the 5-digit ZIP Code followed by a one-digit verifier character, '9'.

This is a classic example of a transitional state. The USPS was leveraging the installed base of Code 39 technology but was already defining a path forward. The requirement to not include the '420' prefix (which became the standard for 5-digit ZIP codes in Code 128) shows that even then, the USPS was nudging the industry toward more modern standards.

International Standards: The Universal Postal Union (UPU)

The Universal Postal Union, which coordinates postal policies among its member nations, officially recommends using Code 128 for all cases. This global recommendation has been a powerful driver in the shift away from Code 39. For an international parcel, a single, reliable symbology like Code 128 is far more practical than a patchwork of national or regional codes.

Case in Point: Posten/Bring in Scandinavia

A document from Posten/Bring, the Norwegian postal service, illustrates this hybrid period. They required that for their parcel service, only Code 39 could be used, but only in conjunction with the UPU's S10 standard for content. The S10 standard defines how a tracking number should be structured (e.g., two letters identifying the service, eight digits for the unique identifier, a check digit, and two letters for the country of origin). This shows that even late in the transition, they were relying on Code 39 to encode this internationally-defined, alphanumeric data.

When Code 39 Still Shines: Niche Postal Applications

While Code 39 is largely obsolete for sorting and tracking in major postal networks, it has not been completely abandoned. It survives in specific, niche applications where its simplicity remains a virtue. France, for example, uses a Code 39 variant for its registered letters forms (known as 'Recommandes'). These barcodes start with 'RA' or 'RB', followed by eight digits and a checksum. The reliability of the self-checking Code 39, combined with its established presence in the postal system, may have made it more cost-effective to retain than to upgrade. In these cases, the investment to change the symbology often outweighs the benefits, especially if the older system is still working and its volume is manageable.

Key Implementation Notes for Code 39

For any business still considering or maintaining a Code 39 system, there are a few key technical points to understand:

The Start/Stop Character (`*`): The asterisk (`*`) is the start and stop character for Code 39. It indicates the beginning and end of the barcode. Importantly, the `*` is *not* an encodable data character; it is a control character used for delimiting the code. Most barcode fonts will automatically include it, but this is a common source of confusion.

The Quiet Zone: To be scanned reliably, a Code 39 barcode must have a clear area, or 'quiet zone,' on both sides. This area must be at least 10 times the width of the narrowest bar (the X-dimension). This space allows the scanner to identify where the barcode begins and ends.

Wide-to-Narrow Ratio: For a Code 39 barcode to be decodeable, there must be a clear contrast between the wide and narrow bars. The wide/narrow bar width ratio must be at least 2.5 to 1, with a ratio around 3 to 1 being common.

Print Quality: Printing quality is paramount. Recommended minimum dimensions include an X-dimension of 0.191mm (7.5 mils), a bar height of at least 5mm, and a high-resolution printer (300 DPI or higher) to maintain crisp bar edges.

Conclusion: The Enduring Legacy of a Pioneer

The story of Code 39 in the postal and parcel sector is one of a pioneering technology that enabled a new era of efficiency. It was the right technology at the right time. Its ability to encode alphanumeric data in a simple, self-checking format was the key that unlocked automated sorting and tracking for an industry grappling with ever-increasing volumes of mail and packages.

Code 39's widespread adoption by the US military (LOGMARS) and its subsequent use in automotive and healthcare standards cemented its place in logistical history. It standardized the supply chain and demonstrated the immense value of automated identification systems.

However, the technological landscape is never static. As the postal sector's demands grew more complex, the limitations of Code 39's low data density and limited character set became increasingly apparent. The sector needed to pack more information into a smaller, more efficient footprint. This need drove the transition to Code 128, a symbology that offered higher density and broader native support for ASCII characters. The Universal Postal Union's recommendation for Code 128 sealed this transition, ensuring global interoperability.

Today, the standard shipping label of a major carrier will almost certainly bear a Code 128, Data Matrix, or QR code. Code 39 has largely been relegated to secondary roles in internal tracking or legacy systems. Yet, its legacy is not one of failure. Code 39 provided a solid, reliable foundation upon which the modern logistics industry was built. It helped prove the business case for barcoding in shipping and set the stage for the more advanced symbologies that now drive the seamless, trackable delivery experiences we all take for granted. Its story is a powerful reminder that in the world of technology, the pioneers often have the most lasting impact, even after their direct use has waned.

 

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 5161 label

Example: Print barcodes to 5162 label

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

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