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

Code 39 Barcodes: A Technical Deep Dive Into the Iconic 'Code 3 of 9'

Chapter 2: The Birth of Code 39

Short Summary Up Front

Before we walk through the history and inner workings of Code 39, here is the essential takeaway. Code 39, also known as Code 3 of 9, is one of the most enduring and widely recognized barcode symbologies in the world. It was created in the mid-1970s by David Allais and Ray Stevens at Intermec to solve a very practical problem: the U.S. Department of Defense needed a barcode that was simple enough to print on rough surfaces, tolerant enough to be read even when damaged or poorly marked, and flexible enough to encode both letters and numbers without requiring complex computing power. The technical genius of Code 39 lies in its self-checking design, its use of five bars and four spaces (nine elements total, with exactly three of them wide), and its ability to be encoded using only standard printers and metal stamps. These features made it a workhorse for decades. Today, while newer symbologies like Code 128 and Data Matrix offer higher density, Code 39 remains in active use across automotive, defense, healthcare, logistics, manufacturing, and government identification. Its technical characteristics directly shape how and where it is applied: its low error rate makes it ideal for human-readable backup, its variable length allows flexible data capture, its large physical size forces trade-offs in label placement, and its lack of mandatory checksum reduces computational overhead but requires careful quality control. This chapter explores those technical traits in depth and then walks through real-world examples across a dozen industries, showing exactly why Code 39 continues to thrive more than forty years after its invention.

1. The Historical Context: A Military Problem

To understand Code 39, we have to go back to the early 1970s. The U.S. Department of Defense was managing an enormous logistical network spanning thousands of suppliers, warehouses, repair depots, and forward operating bases. Every item, from a single screw to a tank engine, needed to be tracked. At that time, most identification was done with stamped metal plates or printed labels that used human-readable numbers. Clerks manually transcribed these numbers, leading to high error rates, delayed shipments, and misplaced equipment. The DoD realized that an automated identification system could save millions of dollars and improve readiness, but they had strict constraints. The barcode had to be readable after being exposed to oil, dirt, abrasion, and extreme temperatures. It had to be printable on materials that could not support high-resolution photographic film. It had to be scannable with relatively primitive optical sensors, which at the time were based on incandescent lamps and single photodiodes. And it had to encode alphanumeric characters, not just digits, because military part numbers often included letters like 'A' for assembly or 'M' for modified.

Several existing barcode systems existed, such as the U.P.C. (Universal Product Code) used in retail, but U.P.C. was numeric-only and required very precise printing tolerances. It also needed a checksum digit, which added complexity for the DoD's decentralized supply chain. The DoD put out a call for a new symbology that could be printed using ordinary impact stamping or dot-matrix printers, read with low-cost handheld wands, and decode reliably even when the printed bars were not perfectly uniform. This was a tall order. David Allais and Ray Stevens, two engineers at Intermec, took on the challenge. They had already been working on barcode technologies for industrial applications, and they realized that the key was to design a code that was self-checking by its very structure, rather than relying on external error detection. Their breakthrough was the 'two-width' concept: every character would be represented by a pattern of nine elements, with exactly three of those elements being wide and the remaining six being narrow. This 3-out-of-9 ratio is what gave the code its name: Code 3 of 9, later shortened to Code 39.

2. Technical Anatomy of Code 39

Before we dive into the applications, we need to understand the technical building blocks of Code 39, because these characteristics directly determine why certain industries prefer it over other symbologies.

2.1 The Nine-Element Structure

Every character in Code 39 is composed of nine elements: five bars and four spaces. Each element is either narrow or wide. The encoding rule is simple: exactly three of these nine elements are wide, and six are narrow. Hence the name '3 of 9.' The wide elements are typically two to three times the width of the narrow elements, although the exact ratio can vary depending on the printing method and scanner optics. This fixed ratio is crucial because it allows the decoder to distinguish wide from narrow without needing an absolute measurement. The scanner simply looks for the relative widths. If the ratio is at least 2:1, the decoder can reliably separate the two states. This tolerance to imperfect printing is the first major technical advantage. In military depots, labels were often stamped with metal dies that could not produce razor-sharp edges. In factories, labels were printed with ribbon-based thermal transfer printers that sometimes smeared. Code 39 could handle all of that because even if the wide bars were slightly narrower or wider than the ideal, the decoder could still identify the pattern as long as the ratio remained above a threshold.

2.2 Self-Checking Nature

One of the most elegant features of Code 39 is that it is self-checking. This means that the code itself contains enough redundant information to detect most common errors without needing a separate checksum digit. How does this workBecause every character has exactly three wide elements, any printing or scanning error that changes the width of one element will, in most cases, change the total count of wide elements to something other than three. For example, if a narrow bar gets smudged and appears wide, that character would now have four wide elements, which is an invalid pattern. The decoder immediately knows that something is wrong and can reject that character or signal a read error. Similarly, if a wide element is eroded and appears narrow, the count drops to two, again invalid. This built-in error detection is not perfect, because there is a small chance that two errors could cancel each other out, but in practice, the probability is extremely low. The self-checking property eliminates the mandatory need for a calculated checksum, although many applications do add an optional checksum for extra safety. For the DoD, this was a huge benefit because it meant that labels could be scanned in the field without requiring a computer to compute and verify a checksum on the fly. The handheld scanners of the 1970s had very limited processing power, so self-checking was a game-changer.

2.3 Character Set and Encoding

Code 39 encodes 43 distinct characters: the digits 0 through 9, the uppercase letters A through Z, and seven special characters: space, minus, period, dollar sign, slash, plus, and percent. It does not support lowercase letters directly, although many later implementations use a shift code or double-encoding to represent lowercases, but that is non-standard. The 43 characters are each mapped to a unique nine-element pattern. For example, the letter 'A' is represented by a specific sequence of wide and narrow bars and spaces, while the digit '1' has a different pattern. The encoding is not binary in the usual sense, because each element is either wide or narrow, but the decoder must also account for the spaces between characters, which are represented by an intercharacter gap that is typically a narrow space. This gap serves as a delimiter, helping the scanner know where one character ends and the next begins. The start and stop characters are both the asterisk symbol, which is not part of the 43 data characters. The asterisk is used exclusively to mark the beginning and end of the barcode. This is a key design choice because it means that Code 39 can be scanned in either direction, a property known as bidirectional decoding. The scanner can read the code from left to right or right to left, and the decoder will automatically orient the data because the asterisk appears only at the ends. In practice, most scanners are configured to read forward, but the bidirectional capability adds robustness, especially when labels are applied to moving items that might pass under the scanner in any orientation.

2.4 Variable Length

Unlike some fixed-length symbologies, Code 39 has no upper or lower limit on the number of characters per label, aside from practical constraints of label size and scanner field of view. This variable-length property is both a strength and a weakness. The strength is that you can encode a short part number like 'A12' or a long serial number like 'MFG-2026-0812-USA' without changing the symbology. The weakness is that longer codes consume more horizontal space because each character adds nine elements plus an intercharacter gap. A typical Code 39 label with 20 characters might be several inches long, which requires a relatively wide label and a scanner with a large aperture. In practice, most applications limit the length to between 5 and 25 characters to keep the label manageable. The variable length also means that there is no automatic padding, so the data is exactly what you encode. This is great for flexibility but requires that the receiving system know the expected length for each field, otherwise it cannot distinguish between a missing character and an intentional short code.

2.5 No Mandatory Checksum

We touched on this earlier, but it deserves a dedicated section because it has major implications for real-world usage. Code 39 does not require a checksum digit. This is unusual among barcodes; most modern symbologies like Code 128, Interleaved 2 of 5, and U.P.C. include a mandatory modulo checksum to catch substitution errors. Code 39 leaves it up to the user. If you want a checksum, you can add a modulo 43 check character, which is computed from the sum of the values of all data characters. Many military and automotive specifications do require this check character, but it is not part of the core standard. The advantage of no mandatory checksum is that encoding and decoding software is simpler. In the 1970s, that was critical because the microprocessors in handheld scanners had very limited instruction sets and memory. Even today, for simple inventory systems running on cheap microcontrollers, omitting the checksum saves processing time and code space. The disadvantage is that you must rely on the self-checking structure and the quality of printing to avoid misreads. In high-stakes applications like healthcare or aerospace, users almost always add the optional checksum, but in low-risk asset tracking, they often skip it to reduce label length.

2.6 Print Quality and X-Dimension

The X-dimension is the nominal width of a narrow element. In Code 39, the wide elements are typically 2.5 to 3 times the X-dimension. The absolute size of X depends on the printing technology and the scanning distance. For high-density applications, X can be as small as 0.005 inches (about 0.127 mm), which allows many characters on a small label. For rough industrial environments, X is often 0.015 inches or larger, so that the bars are robust against wear. The large X-dimension is one reason Code 39 is favored in heavy industry. A bar that is 0.02 inches wide can survive being scraped by forklifts or coated with grease, whereas a high-density code with 0.004-inch bars would become unreadable after one scuff. The trade-off, of course, is that larger X means longer labels. A typical label might be 3 to 6 inches long for 10 to 15 characters. This has led to creative solutions, such as printing the code in a 'ladder' orientation (with bars running vertically) to fit on narrow cylindrical objects, or using multiple rows if space is limited, though Code 39 does not natively support stacked rows; that is a different symbology called Code 49 or PDF417.

2.7 Quiet Zones and Margins

Every Code 39 barcode must have a quiet zone on both ends: a blank area with no printing that is at least 10 times the X-dimension wide. This quiet zone allows the scanner to detect the start and end of the code. If the quiet zone is too small, the scanner might mistake background noise for part of the code, leading to failed reads. In practice, many label designers ignore this requirement and squeeze the code to the edge of the label, which causes intermittent scanning failures. Industries that rely on Code 39, such as automotive manufacturing, enforce strict quality standards that include verifying the quiet zone. This technical detail directly affects label placement: you cannot put the barcode right next to a fold, a seam, or a rivet, because those features might intrude on the quiet zone and confuse the scanner. So in factories, labels are carefully positioned on flat, smooth surfaces with ample margin.

3. How Technical Characteristics Influence Industry Adoption

Now that we have laid out the technical features, we can see a clear pattern. Code 39's tolerance to poor printing, self-checking logic, variable length, and large minimum element size make it ideal for environments where labels are subjected to physical abuse, where printing equipment is basic, and where human-readable backup is essential. Its lack of lowercase letters and lower density make it less suitable for small consumer goods or applications with very long data strings. The following sections walk through real-world industries and show exactly how these technical traits drive the use of Code 39.

4. Industry Application 1: U.S. Department of Defense and Military Logistics

Let us start with the origin story. The U.S. Department of Defense adopted Code 39 as its standard for identifying all types of material, from ammunition boxes to aircraft parts. The technical characteristics that made this possible are the same ones that keep it there today. First, military labels are often printed with impact printers or even hand-stamped with metal dies. Code 39's large X-dimension and wide-to-narrow ratio tolerate the inconsistent ink deposition of impact printing. Second, military items are stored in open yards, shipped in unsealed containers, and exposed to sand, rain, and temperature swings from -40 degrees Fahrenheit to over 150 degrees Fahrenheit. The self-checking feature ensures that even if a bar is partially obscured by dirt, the decoder can still recognize the character or reject it. Rejecting a character is preferable to misreading it, because a misread could cause a tank battalion to receive the wrong spare part. Third, military part numbers often include dashes and slashes, such as 'ABC-123/456.' Code 39's special characters support these directly, whereas a numeric-only code would require translation tables. Today, the DoD still uses Code 39 for many non-critical items, although they have migrated to Data Matrix for small, high-value components because of its higher density and error correction. But in large, rugged items like vehicle tires, pallets of rations, and shipping containers, Code 39 remains the default. An example: a pallet of MREs (Meals Ready to Eat) carries a Code 39 label with the contract number, production date, and lot code. The label is printed on weather-resistant polyester with a large X-dimension of 0.02 inches. Warehouse workers scan it with rugged handheld wands from 12 inches away. The scanner's wide beam can easily read the code even if the pallet is slightly tilted, because the bars are thick and the quiet zone is ample.

5. Industry Application 2: Automotive Manufacturing

The automotive industry is one of the heaviest users of Code 39 outside the military. Every major car manufacturer uses barcodes to track parts through assembly lines, paint shops, and quality control stations. The technical appeal here is twofold: print tolerance and variable length. In an automotive plant, labels are printed on the fly by thermal transfer printers attached to robotic arms. The printers use ribbon that can vary in darkness due to temperature fluctuations. Code 39's wide-to-narrow ratio of 2.5:1 can accommodate a 20% variation in bar width without failing. Additionally, automotive part numbers are notoriously long and alphanumeric, often including prefixes for model year, plant code, and engineering revision. For example, a wiring harness might have the identifier 'W-HARNESS-2026-GM-FT'. That is 24 characters, including dashes. Code 39 can encode this without any special compression. In contrast, Code 128 could encode it in a shorter length, but many legacy scanner systems in auto plants are still configured for Code 39, and changing them would require upgrading thousands of fixed-mount scanners. So they stick with Code 39. A concrete example is a door assembly line. Each door panel arrives with a Code 39 label that encodes the vehicle identification number (VIN) suffix, color code, and trim level. The label is placed on a flat metal surface near the hinge. As the door moves down the conveyor, a fixed scanner reads the code and triggers the robotic installer to pick the correct window regulator and speaker assembly. The self-checking property is vital here, because the label often gets overspray from primer and paint. Even with paint droplets covering part of the code, the scanner can read the remaining characters or reject the label, causing an alarm that prompts a worker to wipe the label. Without self-checking, a misread could install the wrong speaker, leading to a costly rework at the end of the line. In another example, engine blocks are tracked with Code 39 labels made of high-temperature metalized polyester, because the blocks go through a curing oven at 400 degrees Fahrenheit. The large bar width ensures that the label remains readable even after the adhesive slightly bubbles. Every major auto parts supplier, from Bosch to Denso, also uses Code 39 for shipping labels on returnable containers, because the containers are washed with high-pressure water and detergents that would erode finer barcodes.

6. Industry Application 3: Healthcare and Medical Device Tracking

Hospitals and clinics use Code 39 for a surprising number of applications, though they are gradually shifting to 2D codes for patient wristbands. Still, in laboratory specimen tracking, blood bag labeling, and medical device inventory, Code 39 is ubiquitous. The key technical factors here are human readability and error resistance. In healthcare, every label typically has the barcode and the human-readable text printed directly below it. Code 39's character set includes uppercase letters and digits, which exactly match the format of many medical identifiers, such as 'BLOOD-A-1234' or 'URINE-2026-0812.' The human-readable part is important because nurses and lab technicians often visually verify the code before scanning, especially in critical situations like blood transfusions. If the barcode is smudged, they can read the text and manually enter the number. This dual-read capability is a safety net. Additionally, Code 39's self-checking means that a scanner will almost never output an incorrect character. In a blood bank, a misread could be fatal if it misidentifies a unit of blood. Even though many blood banks now use Code 128 or Data Matrix, smaller clinics and rural hospitals still rely on Code 39 because their existing scanners are older and they don't want to invest in new ones. A concrete example: a hospital laboratory receives thousands of urine samples each day. Each sample cup has a Code 39 label printed on-site with the patient's accession number, like 'LAB-56789-02'. The label is printed on a wax-resistant paper and attached to the cup. The cup is placed in a rack that passes under a laser scanner. The scanner reads the code, and the laboratory information system pulls up the patient's history. Because Code 39's elements are relatively wide, the scanner can read through the condensation on the cup. If the cup has been refrigerated, the condensation beads can scatter light, but the large bars still produce a strong contrast. In surgical instrument tracking, hospitals use Code 39 on sterilizable metal tags that are autoclaved at 270 degrees Fahrenheit. The tags are embossed or laser-etched, and the Code 39 pattern is chosen because the 3-of-9 wide-narrow ratio can be reliably detected from an etched surface, whereas a more complex symbology would require higher resolution etching that is more expensive.

7. Industry Application 4: Logistics and Parcel Delivery

Logistics companies like FedEx, UPS, and DHL have largely moved to proprietary 2D barcodes and Code 128 for sorting hubs, but Code 39 remains deeply embedded in their legacy systems for overgoods, returns, and third-party logistics. In this sector, the variable length and bidirectional reading are the decisive advantages. A return package might have a Code 39 label that encodes the return authorization number, which can range from 8 to 30 characters depending on the customer's system. Because Code 39 has no fixed length, the logistics provider does not need to pad the number with leading zeros or truncate it. The bidirectional property allows handheld scanners to read the label even when the package is flipped upside down on a conveyor. This reduces the need for operators to orient packages, speeding up sorting. A notable example is in the handling of military mail and overseas shipments, where the defense logistics agency uses Code 39 for container identifiers. These containers are moved by forklifts, and the labels are often scratched by pallet jacks. The large X-dimension (often 0.025 inches) means that a scratch that obliterates a narrow bar may not destroy the entire code, because the decoder can still infer the wide elements from the remaining pattern. In a parcel sorting facility, a typical Code 39 label might encode the destination zip code plus a four-digit sortation code, such as '90210-2311'. The label is printed on a thermal printer with a resolution of 203 dots per inch. The X-dimension is set to 0.012 inches, giving a total length of about 4.5 inches for 14 characters. The scanner at the sortation chute reads the code at a speed of 500 feet per minute. The decoder uses the intercharacter gaps to synchronize the timing, and because there is no checksum required, the processing is fast enough to keep up with the high speed. The self-checking feature catches any misread caused by the package jostling, and the scanner rejects the code, sending the package to a manual sort lane. This fail-safe behavior is critical because a mis-sorted package could end up on the wrong continent.

8. Industry Application 5: Aerospace and Aviation

The aerospace industry has some of the most stringent traceability requirements in the world. Every bolt, bracket, and hydraulic fitting must be tracked from manufacturing through installation and maintenance. Code 39 is used extensively for part identification, especially for items that are not small enough to require 2D codes. The technical driver here is the ability to mark surfaces using dot-peen or laser engraving. Dot-peen marking uses a vibrating stylus to create indentations in metal. The resulting marks are not perfectly smooth; they have rounded edges and variable depths. Code 39's large wide-to-narrow ratio of 3:1 is easy to detect from such marks, because the difference between a wide indentation and a narrow one is pronounced. Laser etching on titanium or aluminum also produces high-contrast marks, but the heat-affected zone can cause slight blurring. Code 39's tolerance to blurring makes it a reliable choice. For example, an aircraft landing gear strut carries a Code 39 marking that encodes the part number, serial number, and maintenance interval. The marking is directly engraved into the metal, so it cannot be lost or peeled off. Maintenance technicians scan it with a portable imager during each inspection. The self-checking feature ensures that if the engraving has been worn down by sandblasting during repainting, the scanner will reject the code rather than output a wrong serial, triggering a re-engraving process. In avionics components, which are smaller, the industry has moved to Data Matrix, but for large structural parts like wing spars and fuselage frames, Code 39 is still specified in many Boeing and Airbus maintenance manuals. Another aerospace application is in the tracking of tooling and ground support equipment, such as engine hoists and tow bars. These tools are often stored outdoors and exposed to jet fuel and de-icing fluids. Code 39 labels are printed on heavy-duty vinyl with a protective laminate. The large bars resist chemical degradation, and the quiet zone is printed with a contrasting background to ensure that scanner can find the start and stop asterisks even under low-angle sunlight.

9. Industry Application 6: Government Identification and Asset Management

Beyond the DoD, many civilian government agencies use Code 39 for asset tracking. The U.S. General Services Administration (GSA) maintains a vast inventory of furniture, computers, vehicles, and office equipment. Each item receives a permanent property tag with a Code 39 barcode. The technical reason is simple: the tags are produced in bulk using inexpensive thermal printing, and the data fields are typically short, like 'GSA-123456-USA'. Because the tags are affixed to desks and filing cabinets, which are not subject to harsh conditions, the lower density of Code 39 is not a problem. The variable length allows the GSA to encode different types of information for different asset classes. For vehicles, they encode the license plate number and fleet code. For computers, they encode the serial number and purchase order. The self-checking nature means that when a field auditor scans a thousand assets in a single day, they can trust the readings without re-scanning each one multiple times. In state and local governments, Code 39 is used for library books, parking permits, and evidence lockers. A police evidence locker might use Code 39 labels to track drug evidence, firearms, and stolen property. The labels are often printed on tamper-evident material, and the large bar size makes it easy to scan through the clear plastic evidence bags. The lack of a mandatory checksum is actually seen as a benefit in these low-risk environments, because it reduces the number of digits printed on the label, leaving more room for human-readable descriptions.

10. Industry Application 7: Retail and Inventory Management (Non-Grocery)

Although U.P.C. and EAN dominate grocery retail, Code 39 has a strong presence in retail inventory management for non-food items like clothing, electronics, and hardware. Department stores use Code 39 for internal inventory tags that are not scanned at the point of sale but are used for stocktaking and receiving. The technical advantage is the alphanumeric capability. A clothing retailer might encode 'SHIRT-M-BLUE-2026' to identify a specific style, size, and color. This is not possible with standard U.P.C., which is numeric and requires a lookup table in the database. With Code 39, the barcode itself carries meaningful information, so a warehouse worker can look at the human-readable text and confirm the item without a terminal. The self-checking property reduces errors during annual physical inventory, where workers scan thousands of items quickly. In hardware stores, bulk items like nails, screws, and pipes are often tracked with Code 39 labels on shelf bins. The labels are printed on-site by the store manager using a basic label printer, because Code 39 does not require specialized fonts or complex encoding software. Many retail management software packages include Code 39 as a default option for generating barcode labels for non-U.P.C. items. For example, a bicycle shop uses Code 39 for each bike in the repair queue, encoding the customer name initial and work order number, such as 'WO-1024-SMITH'. The large bars ensure that the label can be read even when covered with grease from the repair stand.

11. Industry Application 8: Manufacturing Work-in-Process Tracking

In factories that produce custom machinery, electronics, and consumer goods, Code 39 is the backbone of work-in-process tracking. Each subassembly gets a label that encodes the routing number, operation sequence, and quality checkpoints. The variable length is essential because a simple part might have a 5-character code, while a complex assembly might have a 20-character code that includes supplier codes and revision letters. The print tolerance allows labels to be printed using low-cost direct thermal printers attached to each workstation. These printers often have worn printheads that produce inconsistent dot patterns, but Code 39 still scans reliably. A concrete example is a printed circuit board assembly line. Each bare board arrives with a Code 39 label that encodes the board type and date code. As the board moves through pick-and-place machines, reflow ovens, and test stations, operators scan the label at each step. The scanner software compares the scanned routing to the expected routing. If the board is scanned at the wrong station, the system alarms. The self-checking feature is crucial because the labels are exposed to flux fumes and solder splatter. Even if a blob of solder covers part of a bar, the decoder can often read the rest of the characters and, because the data is alphanumeric, infer the missing part from the context in the manufacturing execution system. In heavy machinery manufacturing, like building excavators or agricultural tractors, Code 39 labels are attached to each major component---engines, transmissions, axles. These labels are large, with X-dimensions up to 0.03 inches, so they can be read by wide-beam scanners from a distance of 18 inches. The operators wear gloves and often scan with one hand while holding a tool in the other. The bidirectionality means they don't need to rotate the label; they just point the scanner anywhere along the code.

12. Industry Application 9: Telecommunications and Utility Infrastructure

Telecommunication companies and utility providers use Code 39 to label outdoor equipment like cell towers, fiber optic splice cases, power transformers, and gas regulators. The technical need here is longevity and resistance to ultraviolet light, rain, and ice. The large bar width allows the label to be printed on durable metal or ceramic plates that are riveted to the equipment. These plates are often made of anodized aluminum, and the Code 39 pattern is etched through a laser or chemical process. Because the elements are wide, the etching can be relatively shallow, which reduces the risk of stress fractures. The self-checking property ensures that even if the plate corrodes at the edges, the central bars remain decodable. For example, a cell tower has a Code 39 plate attached to the base that encodes the tower ID, owner, and emergency contact number. Field technicians scan this plate using a rugged smartphone with a barcode app. The variable length allows them to include a long description, such as 'TOWER-4872-ATT-EMERGENCY-555-0100'. In fiber optic networks, each splice case is tagged with a Code 39 label that encodes the cable identifier and the number of fibers. These labels are often wrapped around cylindrical cases, and the ladder orientation (bars perpendicular to the label's long axis) is used to minimize the required label width. The large bars help the scanner read through the translucent gel that is sometimes used to protect the splice from moisture.

13. Industry Application 10: Food Processing and Packaging

In food processing plants, Code 39 is used for tracking raw materials, batch lots, and expiration dates. The technical challenge is that labels are often exposed to water, oils, and freezing temperatures. Code 39's tolerance to printing imperfections allows the use of specialized inkjet printers that spray edible ink directly onto eggs, fruit, or meat packaging. For example, a poultry processing plant prints a Code 39 label on each tray of chicken breasts, encoding the slaughter date, plant code, and lot number. The inkjet printer uses a fast-drying ink that spreads slightly on the plastic film. The spread would ruin a high-density code, but Code 39's wide bars remain distinguishable. The self-checking feature is important because if the ink spreads too much, the decoder will count more than three wide elements per character and reject the label, prompting the printer to reprint or the line to be stopped for cleaning. In frozen food warehouses, pallets of vegetables carry Code 39 labels that are printed on cold-resistant adhesive. The labels are applied when the product is at -10 degrees Fahrenheit, and the adhesive becomes brittle. Even if a corner of the label chips off, the central bars are usually intact because the code is printed in a relatively large area. The lack of a mandatory checksum is acceptable because the food industry uses additional batch-level tracking in their enterprise resource planning systems, so a single misread would be caught during reconciliation.

14. Industry Application 11: Laboratory and Scientific Research

Research laboratories, both academic and commercial, use Code 39 for tagging samples, reagents, and equipment. The technical driver here is the simplicity of generating labels from spreadsheets and basic database software. Many lab information management systems (LIMS) have built-in Code 39 font generators. Scientists can type a sample ID like 'RNA-2026-0812-A' and print it directly onto a label without any special barcode software. The variable length accommodates different naming conventions across experiments. For instance, a genomics lab might have sample IDs that include the project code, the well plate number, and the row-column coordinates, resulting in strings like 'PROJ-XY-12-E05'. Code 39 encodes this easily. The self-checking property is valued because samples are often frozen and thawed multiple times, causing condensation that can smear the ink. The large bar size means that a slightly smeared code is still readable. In chemistry labs, reagents like solvents and acids are tagged with Code 39 labels that include hazard codes and expiration dates. The labels are often placed on glass bottles that are washed with acetone and other solvents. The printing is done using solvent-resistant ribbons, and Code 39's wide bars survive the occasional solvent drip better than narrower symbologies because the contrast remains high.

15. Industry Application 12: Library and Archival Systems

Libraries have used barcodes for decades, and Code 39 was the standard for many library automation systems in the 1980s and 1990s. Even today, thousands of libraries still use Code 39 on book spines and patron cards. The technical reasons are historical but still relevant. The labels are printed on acid-free paper with a matte finish, and the X-dimension is typically 0.01 inches, which is easy to read with the CCD scanners common in libraries. The character set of uppercase letters and digits is perfect for library call numbers, such as 'QA76.73-C6' or 'REF-2026-001'. The bidirectional reading is convenient for self-checkout kiosks, where patrons may place a book on the reader in any orientation. The self-checking feature reduces false reads during high-volume circulation, such as at the start of a semester when students check out dozens of books. Although many modern libraries have migrated to Code 128 or RFID, smaller public libraries and school libraries keep Code 39 because their legacy circulation software was written to expect that symbology, and the cost of updating thousands of labels is prohibitive. An example is a university library that uses Code 39 for rare book tracking. The labels are printed on transparent film and placed on the inside cover. The large bars allow the scanner to read through the translucent paper of the book's endpapers. The human-readable portion is printed in a large font so that librarians can visually verify the call number without pulling the book off the shelf.

16. Summary of Technical Traits and Their Practical Impacts

Let us now consolidate all the technical characteristics we have discussed and explicitly map each one to its real-world impact, as seen across all the industries above.

First, the three-wide-elements-per-character structure provides inherent self-checking. This means that any single element error that alters the count of wide elements will be detected. In practice, this reduces the need for re-scans in dusty, wet, or high-vibration environments. In automotive assembly, paint overspray and grease are common; self-checking catches those errors before they cause a misassembly. In healthcare, it provides a critical safety margin for blood products and lab samples. In aerospace, it catches corrosion-induced distortions. The impact is a lower total cost of ownership because operators spend less time verifying readings.

Second, the variable length allows flexible data encoding. This is a huge advantage in manufacturing, defense, and logistics, where part numbers and serial numbers vary widely in format and length. A single symbology can handle everything from a 3-character bin code to a 25-character government contract number. It also simplifies database integration because you do not need to pad or truncate fields. However, the downside is longer labels for longer data, which pushes industries to use Code 39 only for moderate-length identifiers. In retail inventory, they keep codes short. In libraries, they keep call numbers concise. In food processing, they limit batch codes to 12 characters to avoid oversized labels.

Third, the large X-dimension and 2.5:1 to 3:1 wide-to-narrow ratio provide high print tolerance. This is the single most important factor for heavy industry. It means that labels can be printed with worn thermal heads, impact stamps, dot-matrix printers, or even hand-stamped metal plates. It also means that labels remain readable after abrasion, chemical exposure, and temperature extremes. The practical impact is that Code 39 is the go-to choice for outdoor equipment, military gear, automotive parts, and aerospace components. In contrast, a high-density code like Code 128 would require cleaner printing and more careful handling, which is not feasible on a muddy construction site or a salty ship deck.

Fourth, the absence of a mandatory checksum reduces computational complexity and label length. This is a double-edged sword. On the positive side, it allows very simple decoders, which kept costs low in the early days and still benefits low-power embedded systems. It also saves one character per label, which might seem trivial but over millions of labels reduces ink and label material costs. On the negative side, it places more reliance on the self-checking structure and on the quality control of printing. In high-risk industries like aerospace and healthcare, users voluntarily add the modulo 43 checksum. In lower-risk applications like library books and office asset tags, they omit it without concern. The impact is that Code 39 is highly adaptable: you can tailor the level of safety to your specific needs.

Fifth, the use of the asterisk as start/stop delimiter enables bidirectional scanning. This improves ergonomics for handheld scanners because workers do not need to orient the label. On conveyor belts, it allows fixed scanners to read packages regardless of their forward or backward facing. The practical impact is faster throughput in parcel sorting, manufacturing lines, and library self-checkouts. It also simplifies label application because there is no 'this side up' requirement. In military depots, workers can slap labels on boxes in any orientation, and the scanner still reads them.

Sixth, the quiet zone requirement forces designers to allocate adequate blank margins. This seems trivial, but it has a major effect on label placement. In automotive plants, labels are positioned away from edges and holes. In aerospace, engraving is placed on flat uninterrupted surfaces. In telecommunications, tags are mounted on brackets that provide clean background. When the quiet zone is ignored, scanning becomes intermittent, leading to frustration. So the technical trait indirectly influences the physical design of parts and assemblies, ensuring that barcodes are given the necessary real estate.

Seventh, the character set of 43 symbols (digits, uppercase letters, and seven special characters) matches many legacy identification schemes. This is a historical lock-in effect. Industries that developed their part-numbering systems in the 1970s and 1980s used those exact characters, so Code 39 was a natural fit. The lack of lowercase letters is rarely a problem because most part numbers use uppercase for readability. The special characters (dash, dot, slash, plus, percent, dollar, space) cover most separators used in serial numbers. The impact is that you can encode human-readable data directly without translation, which reduces errors and training time.

Eighth, the overall low density (compared to Code 128 or 2D codes) means that Code 39 requires more horizontal space per character. This is its biggest weakness. In applications where label size is constrained, such as small electronics or medical implants, Code 39 is not suitable. That is why those industries have moved to smaller symbologies. However, in applications where label size is abundant, such as pallets, vehicle components, and shipping containers, the low density is not a problem. In fact, the large size is an advantage because it makes the code visible from a distance and easier to align with a handheld scanner.

17. The Future of Code 39 in a World of 2D Codes

Given the rise of QR codes, Data Matrix, and PDF417, one might ask why Code 39 persists. The answer lies in compatibility, cost, and simplicity. Thousands of legacy systems---scanners, printers, databases, and software---are calibrated for Code 39. Replacing them would cost billions of dollars globally. Moreover, for many applications, the data capacity of Code 39 is sufficient. You do not need to encode a 500-character URL on a landing gear part; you just need a 15-character part number. The self-checking and print tolerance of Code 39 are still competitive with many 2D codes when it comes to harsh environments. In fact, some 2D codes require high-quality printing with precise cell sizes, which is more expensive to produce on metal or curved surfaces. Code 39 remains a low-tech, high-reliability solution. Furthermore, the human-readable backup printed under every Code 39 barcode is a huge advantage in industries where visual inspection is mandatory. No 2D code can be read by a human without a scanner, but Code 39's text line is immediately legible. This dual-mode operation---machine and human---is invaluable in healthcare, military, and aerospace, where a scanner failure should not stop the work. The optional checksum also allows gradual upgrades: a facility can start printing labels with the checksum today, and its older scanners will still read them (because they ignore the checksum), while newer scanners can verify it. This backward compatibility is a strategic reason why Code 39 will not disappear anytime soon.

18. Practical Considerations for Implementing Code 39 Today

For engineers and managers who are still selecting Code 39 for new projects, there are several best practices. First, choose an appropriate X-dimension. For indoor warehouse use, 0.010 inches is typical. For outdoor heavy use, choose 0.015 inches or larger. Second, always include the human-readable text, using a font such as OCR-A or a simple sans-serif, positioned just below the barcode. Third, decide whether to add the optional modulo 43 checksum. If your data is critical, add it; if you are tracking office furniture, you can skip it. Fourth, ensure that the quiet zone is at least 10 times X, and preferably 15 times X, to accommodate scanner alignment error. Fifth, test your labels with the actual scanners you will use, under the actual lighting and environmental conditions, because some scanners are better at decoding wide bars than others. Sixth, consider using a 'supplemental' or 'check' character if your application requires parity or field separation, though that is not part of the standard. Seventh, keep the encoded data length under 25 characters to avoid excessively long labels that could curl or peel. Eighth, use high-quality thermal transfer ribbon and label stock that are compatible with the expected chemicals and temperatures. Ninth, if you must print on curved surfaces, orient the bars perpendicular to the curve (ladder orientation) to minimize distortion at the edges. Tenth, train operators to scan the code steadily, not at an extreme angle, because Code 39's one-dimensional nature requires the scanner beam to cross all bars and spaces; a skew angle of more than 45 degrees can cause missed elements.

19. Comparison with Other Symbologies (Briefly)

To place Code 39 in context, compare it briefly with Code 128 and Interleaved 2 of 5. Code 128 is more compact, encodes all 128 ASCII characters, and includes a mandatory checksum, but it requires more precise printing and is less tolerant to wide variations. Interleaved 2 of 5 is numeric-only and has higher density for digits, but it lacks self-checking for individual characters, making it less safe for alphanumeric needs. Data Matrix and QR are 2D, can encode thousands of characters, and include powerful error correction, but they require 2D imagers and are overkill for short identifiers. Code 39 sits in a sweet spot: it is simpler than Code 128, safer than Interleaved 2 of 5 for letters, and cheaper than 2D for basic tracking. This is why it has survived.

20. Final Detailed Summary

To conclude this deep dive, let us recapitulate the entire story. Code 39 was born from a clear military requirement for a rugged, simple, and alphanumeric barcode. David Allais and Ray Stevens at Intermec delivered a symbology based on nine elements per character, with exactly three wide ones, giving the code its name. This 3-of-9 structure provides powerful self-checking that detects most single-element errors, eliminating the need for a mandatory checksum, though one can be optionally added. The variable length accommodates a broad range of data sizes, from short bin labels to long contract identifiers. The large minimum bar width and wide-to-narrow ratio of about 2.5 to 3 make the code extremely tolerant to poor printing, smudging, abrasion, and chemical attack. The use of the asterisk as a start/stop symbol enables bidirectional scanning, which speeds up manual and automated reading. The character set, which covers digits, uppercase letters, and seven common special characters, aligns perfectly with most legacy part-numbering systems in defense, automotive, aerospace, and logistics.

These technical traits directly shape the real-world applications. In the military, Code 39 labels survive sand, rain, and rough handling on ammunition crates and vehicle parts. In automotive plants, they withstand paint overspray and high-temperature ovens while enabling error-proofed assembly lines. In healthcare, they provide a human-readable safety net for blood samples and surgical instruments. In logistics, their large bars allow high-speed conveyor reading even with package jostling. In aerospace, they are engraved into metal surfaces where they resist corrosion and thermal cycling. In government asset management, they simplify field audits. In retail inventory, they encode rich alphanumeric descriptions directly. In manufacturing work-in-process, they track complex assemblies through multiple stations. In telecommunications, they adorn outdoor equipment exposed to UV and ice. In food processing, they work with inkjet printers that spread on plastic films. In laboratories, they integrate easily with spreadsheets and LIMS. In libraries, they support self-checkout and rare book tracking.

The persistent use of Code 39 is not an accident of history; it is a testament to a brilliant design that balanced technical constraints with practical needs. While newer symbologies offer higher density and more advanced error correction, none of them can match Code 39's combination of low implementation cost, extreme environmental tolerance, human-readable backup, and backward compatibility with decades of existing infrastructure. For any application that involves moderate-length alphanumeric data, harsh conditions, and a need for both machine and human reading, Code 39 remains an excellent choice. Engineers and system designers should continue to consider it as a primary option, especially when upgrading legacy systems is not feasible. The lessons from its birth---simplicity, tolerance, and self-sufficiency---are still relevant today. And as long as there are warehouses, factories, hospitals, and military depots, the iconic 'Code 3 of 9' will keep scanning, one wide bar at a time.

 

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:

Edit imported barcode data

Input data (Pro)

Label Designer

Edit data in Label designer

Label Designer - Add new label

Label Designer - Printing

Set the barcode label format to be printed

Other Barcode Label Format Settings

Barcode types supported by this program

Barcode Label Font Settings

Configuring the Barcode Print Rotation

Text Alignment for Barcode Labels

Automatically Adjusting Barcode Width

Text Beneath the Barcode

Configuring Barcode Size

Auto Calculate the Barcode Size

Export Barcode images

Export Barcode Image Format

File Names for Exported Barcode

Resolution of Exported Barcode Images

Fixed Folder for Exporting Barcode

Default Barcode Image Export Format

Print bulk barcodes quickly

Print barcodes to Avery 5160 label

How to bulk Barcode Printing

Sample - Avery 5162 (2x7) Label Sheet

Example: Print barcodes to 5*3cm roll

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

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