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. |