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

A Comprehensive Technical Guide to Barcodes: From 1D to 2D, RFID, and the Future of Machine Vision (P11)

Chapter 11: The Birth of Code 128 (1981)

In Brief

Code 128, introduced in 1981, represents a pivotal moment in the evolution of automatic identification. It was conceived to address the growing need for a more efficient and versatile linear barcode, capable of encoding the full 128-character ASCII set while maintaining a compact footprint. Unlike its predecessors, such as Code 39, Code 128 offers significantly higher data density, a mandatory checksum for error detection, and three distinct character sets that can be dynamically switched within a single symbol. These technical innovations, while introducing complexities in printing and scanning, have enabled Code 128 to become a cornerstone in logistics, healthcare, retail, and manufacturing, underpinning modern supply chains and critical tracking systems.

11.1 The Context: A Need for Greater Density

By the late 1970s, the barcode had proven its value. The Universal Product Code (UPC) was transforming retail checkout in the United States, and Code 39 was gaining traction in industrial and military applications for its ability to encode alphanumeric data. However, a fundamental limitation was becoming increasingly apparent: these symbologies were inefficient in their use of space. Code 39, for example, uses nine elements (five bars and four spaces) to represent each character, with three of these elements being wide. This self-checking design was reliable, but it meant that the resulting barcode could become impractically long when encoding even a modest amount of data.

As computer systems grew more powerful and integrated, businesses and government agencies began to demand the ability to encode more information directly onto a label. They needed to track not just a product's identity but also its batch number, expiration date, weight, destination, and other critical details. The limited data capacity of existing linear barcodes was a bottleneck. The need was clear: a new, high-density symbology that could encode the full range of characters used by modern computers---the 128-character American Standard Code for Information Interchange (ASCII) set---was essential for the next generation of automated data capture.

11.2 The Genesis of Code 128

In 1981, this need was met by a new symbology developed by Computer Identics Corporation, a key player in the early barcode industry. Ted Williams, an engineer at the company, is credited with its invention. The new barcode was named Code 128, a direct reference to its most powerful feature: the ability to represent all 128 characters of the standard ASCII set. This was a monumental leap from Code 39, which was primarily limited to uppercase letters, numbers, and a handful of special characters.

The goal of Code 128 was not just to be more versatile, but to be exceptionally efficient. Researchers designed it to pack a large amount of data into a small physical space. This 'high-density' approach was achieved by using a more complex encoding pattern. Where Code 39 used nine modules (wide and narrow bars and spaces) to represent a character, Code 128 uses six elements (three bars and three spaces) per character. This immediately made it much more efficient. Furthermore, a crucial innovation was the inclusion of a mandatory checksum character, calculated using a modulo 103 algorithm, which provides a high level of data integrity and error detection.

The symbology was also designed with flexibility in mind. It accomplishes this through a system of three different character sets, known as A, B, and C, selected by three distinct start codes. This allows the barcode to dynamically switch between character sets within a single symbol to optimize data density.

11.3 Technical Characteristics: Understanding the Power of Code 128

To appreciate the impact of Code 128, it is essential to understand its core technical features. These characteristics, while brilliant in design, also define where the symbology excels and where it presents challenges.

The Three Character Sets (A, B, and C)

The flexibility of Code 128 comes from its three distinct sub-symbols, or character sets, which are invoked by different start codes.

Code Set A: This set encodes all standard uppercase letters (A-Z), numeric digits (0-9), punctuation, and control characters (ASCII values 00-95). This makes it suitable for applications where legacy computer codes or special formatting characters (like carriage returns or tabs) might be needed.

Code Set B: This is the most versatile set for general text. It encodes all standard ASCII characters from 32 to 127, which includes uppercase and lowercase letters, numeric digits, punctuation, and various symbols. This is the most common set for applications like logistics and retail, where mixed-case information is frequently required.

Code Set C: This set is optimized for numeric data. It encodes pairs of digits from 00 to 99 into a single character position. This effectively doubles the density for numeric-only data, making Code 128 exceptionally efficient when encoding large numbers, such as serial numbers or tracking IDs. It is this capacity that makes it possible to place extensive data within a tiny label area.

The power of Code 128 lies in the ability to switch between these sets within a single barcode. For instance, a label could start with Code Set B to include a product name with mixed case ('ProductX'), then switch to Code Set C to encode a long numeric serial number ('1234567890'), and then switch back. This dynamic switching capability allows for the most compact representation of mixed data.

Mandatory Checksum for Data Integrity

Unlike many earlier barcodes where a checksum was optional, Code 128 requires a check character. This character is calculated based on the values of all the characters in the barcode. When the barcode is scanned, the reader performs the same calculation and compares its result to the checksum. If they match, the data is considered valid. If they do not, the scanner will typically reject the read, preventing the entry of erroneous data. This feature is absolutely critical in environments where data accuracy is paramount, such as healthcare and supply chain management.

High Density and Compact Design

The primary purpose of Code 128 was to create a high-density symbology. This is achieved through its encoding method---six elements per character---and particularly through Code Set C's ability to encode two digits per character. The result is a barcode that can hold more data in a smaller space than any other widely used linear symbology at the time. This is a crucial advantage for space-constrained labels on small items like pharmaceuticals, electronics components, or jewelry.

The Trade-off: Complexity and Printing Requirements

While the high density is a major benefit, it introduces technical challenges. The Code 128 symbology uses four different bar and space widths, rather than just the two widths (wide/narrow) used by simpler codes like Code 39. This requires higher-quality printing equipment to ensure that the distinctions between the different widths are clear and accurate. Code 128 is not well-suited for low-precision printing methods like many dot-matrix printers or for direct marking on coarse surfaces like corrugated cardboard, where ink spread can obscure the fine details. In addition, the mandatory checksum and the ability to switch character sets make the encoding and decoding process more complex, demanding more sophisticated scanning hardware and software compared to simpler symbologies.

11.4 The 'Before and After': Code 128 vs. Code 39

To fully grasp the significance of Code 128, it is helpful to compare it directly with its predecessor, Code 39, a symbology invented in 1974 that was the industry standard for alphanumeric encoding before 1981.

The primary difference is in data density and efficiency. Code 39 is a 'low-density' symbology. It encodes a character using nine elements, five of which are bars and four spaces. To represent a character, it uses a pattern of wide and narrow elements, with three of the nine elements being wide. This self-checking design was clever for its time, but it is very inefficient. A typical Code 39 barcode is long and requires a significant amount of label real estate, which is a major limitation when labels must be small or space is at a premium.

In contrast, Code 128 uses a more complex but much more efficient method. It uses only six elements (three bars and three spaces) to represent a single character. With multiple widths, it can represent more data in a smaller area. The advantage of Code 128 is most apparent when comparing the ability to encode numeric data. Code 39 encodes each numeric digit as a separate character, consuming a lot of space. Code 128's Code Set C can pair digits together, making it approximately twice as dense as Code 39 for purely numeric data. The result is that Code 128 is often preferred for new applications where space is limited or a large amount of data is needed, a sentiment reflected in industry comparisons.

The character set is another significant difference. Code 39 is famously limited to 43 characters: uppercase letters (A-Z), digits (0-9), and a few special characters like the dash, period, and space ($, %, +, /). Code 39 can encode lowercase letters and other symbols, but it requires a complex and less efficient two-character 'shift' method, which further reduces its density. Code 128, on the other hand, was designed from the start to encode all 128 ASCII characters, including lowercase letters, punctuation, and control codes, without any special workarounds. This made it significantly more versatile for modern computer systems.

Code 39, in many implementations, does not require a checksum. While it is often recommended for accuracy, it is not mandatory. The lack of a mandatory checksum is simpler, but it also provides less built-in data integrity. Code 128, by contrast, mandates a checksum character for every symbol, dramatically increasing reliability and making it more suitable for critical applications.

However, Code 39's simplicity is not without its merits. Because it uses only two widths (wide and narrow) and lacks a mandatory checksum, Code 39 is easier to generate and print on lower-quality printers, including older thermal and dot-matrix printers. It is also easier to scan with older or simpler barcode readers. Furthermore, it is a well-established standard in certain sectors, such as the U.S. Department of Defense, which has used a Code 39-based standard (LOGMARS) for years. This entrenched status is a form of power, making Code 39 resilient in legacy systems, even when newer symbologies are technically superior.

11.5 The GS1-128 Standard: Code 128 for Global Commerce

A critical development that amplified the power and reach of Code 128 was its adoption and standardization by the global supply chain standards organization GS1 (formerly the Uniform Code Council and EAN International). This standard is known as GS1-128 (previously called UCC/EAN-128).

GS1-128 is not a different symbology; it is a standard for using Code 128. It defines a specific syntax for encoding structured product information within a Code 128 barcode. This is achieved through the use of Application Identifiers (AIs). AIs are two- to four-character prefixes that define the meaning and format of the data that follows them. For example, AI `(01)` indicates the Global Trade Item Number (GTIN), which is the product identifier; AI `(10)` indicates a batch or lot number; AI `(15)` indicates the 'best before' date; and AI `(3103)` indicates the net weight in kilograms.

By including multiple AIs and their associated data in a single GS1-128 barcode, a supply chain partner can encode a rich set of information directly onto a label. Consider a shipment of pharmaceuticals. The label could contain the product's GTIN (AI 01), its batch number (AI 10), its expiration date (AI 17), its serial number (AI 21), and its weight (AI 3103). When the shipment is received, a single scan provides all this critical information, enabling automated inventory updates, quality checks, and regulatory compliance. This is far more powerful than a traditional barcode that simply identifies the product.

GS1-128 is a vital component of global commerce, used in shipping, logistics, and point-of-sale, making Code 128 an integral part of the world's supply chain infrastructure.

11.6 Industry Applications: The Power of Code 128 in Practice

The technical characteristics of Code 128 have made it the symbology of choice for a wide variety of applications across multiple industries, each leveraging its strengths in different ways.

Logistics, Shipping, and Transportation

The logistics and transportation industry is perhaps the single largest user of Code 128, heavily relying on the GS1-128 standard for shipping labels. A major reason for this is the symbology's ability to encode large amounts of data, including product identifiers, batch numbers, weights, and destination codes, in a small space. In this industry, every square millimeter of label space is precious, and the capacity to store more information means more efficient routing and tracking. The United States Department of Defense also adopted barcodes for logistics early on, further cementing the use of barcodes in high-stakes, global supply chains.

Consider a parcel being shipped overnight across the country. The shipping label on that box is almost certainly a GS1-128 barcode. When it is scanned, the barcode conveys not just the tracking number but also the service level, the destination sort code, the weight, and other key data. A single scan allows the package to be routed to the correct truck, sorted for the correct plane, and tracked by the customer in real-time. This detailed tracking ensures the item is managed efficiently and accurately throughout the complex logistics network. The barcode essentially replaces the need for a clerk to read a destination address and sort the package manually, dramatically increasing speed and reducing human error.

Healthcare

In healthcare, accuracy is a matter of life and death. The reliability and data capacity of Code 128 make it a crucial tool in medical settings, especially for patient identification and medication management. The International Society of Blood Transfusion (ISBT) uses a global standard based on Code 128, known as ISBT 128, for identifying, labeling, and processing medical products of human origin, including blood, cells, tissues, and organs. The symbology is also used for patient wristbands to encode essential data like patient ID, name, and allergies, ensuring correct identification and preventing medical errors. In specimen tracking, barcodes on lab samples eliminate the risk of mix-ups, guaranteeing that test results are correctly matched to the patient.

Picture a hospital laboratory receiving hundreds of blood samples. Each sample tube has a small label with a Code 128 barcode. This barcode encodes the patient's unique ID number and a specimen code. When the lab technician scans the tube, the hospital's information system instantly pulls up the patient's electronic health record, ensuring the test request is known and the results are correctly filed. This automated process is vastly more efficient and less error-prone than transcribing numbers manually. The mandatory checksum in the Code 128 also provides an extra layer of assurance that the patient ID is read correctly every time.

Manufacturing

Manufacturers use Code 128 to track work-in-progress, manage inventory, and maintain quality control. The ability to encode mixed data---such as part numbers, batch codes, and serial numbers---onto a single label makes it possible to track a component or a finished product from raw material to final assembly and beyond. This traceability is crucial for managing complex supply chains, identifying defects, and performing recalls.

In an automotive assembly plant, for instance, each major component might have its own Code 128 label. As the car moves down the assembly line, scanners read the barcodes on the chassis, engine, and transmission, ensuring that the correct parts are assembled together. If a quality issue is later discovered with a batch of engines, the manufacturer can use the serial numbers encoded in the barcodes to precisely identify which cars are affected, enabling a targeted and efficient recall. This process saves the manufacturer from having to recall a much larger number of vehicles than necessary.

Retail and Inventory Management

In retail, Code 128 offers advantages beyond the standard UPC, which is typically a numeric-only code. For items sold in non-POS (point-of-sale) environments, such as large items in a warehouse or internal inventory management, Code 128 is invaluable. It is used for shelf-labeling, inventory control, and tracking products through the supply chain before they reach the store shelf. It is also ideal for items where a simple numeric code is insufficient, and the product label needs to encode details like weight, size, or color in a human-readable and scannable format.

A large department store receives a shipment of clothing. Instead of just a simple product ID, each garment's internal inventory tag could have a Code 128 label encoding the item's style, size, color, and price. When a store employee scans the item during a stock take, the scanner immediately knows exactly which variant of the product they have. This is more efficient than separate scanning or manual data entry. Because the barcode is compact, it can fit on a small tag, making it practical for tracking a huge variety of items.

Asset Management

Code 128 is widely used for tracking valuable assets in various industries. Equipment, tools, and machinery can be labeled with a Code 128 barcode that encodes a unique ID. This enables companies to track the location of their assets, manage maintenance schedules, and ensure that equipment is not lost or stolen. In a warehouse, pallets and storage bins can be labeled with Code 128, streamlining inventory cycles and simplifying order fulfillment.

A construction company, for example, has thousands of expensive tools across dozens of jobsites. Each tool---from a power drill to a concrete mixer---is labeled with a durable Code 128 barcode. Workers scan their tools when they check them out in the morning and when they return them at the end of the day. The system automatically tracks who has each tool and where it is, preventing theft and ensuring the right equipment is on the right site. The compact size of the symbology means the label does not get in the way of the tool's function.

11.7 The Impact and Legacy of Code 128

The introduction of Code 128 in 1981 was a watershed moment. It effectively solved the data capacity and density problems that were limiting the growth of the barcode industry. By offering a high-density, flexible, and reliable method for encoding the entire ASCII character set, Code 128 enabled the development of more sophisticated tracking and data management systems.

Its greatest success is arguably its seamless integration into global supply chains through the GS1-128 standard. The symbology is a key enabler of modern logistics, allowing for the transparent movement of goods and information across the globe. It is a testament to the foresight of its designers that a standard developed in 1981 remains the de facto workhorse for the world's transportation and logistics networks.

In many ways, Code 128 was the pinnacle of the first generation of 'alphanumeric' barcodes. It represented a fundamental technological breakthrough that met the needs of the computer age. While it has been complemented by even more powerful 2D barcodes like PDF417, Data Matrix, and QR codes in the decades since, Code 128 has not been superseded. It continues to be the standard for many critical applications, a testament to its robust design and the practical wisdom of its creators. Its ability to encode the same data as a modern computer file made it the bridge between the physical world of products and the digital world of data processing.

Chapter Summary

* Birth of a Standard: Code 128 was developed in 1981 by Computer Identics Corporation to meet the growing demand for a high-density, versatile linear barcode. Its primary innovation was the ability to encode the entire 128-character ASCII set, a significant leap over the limitations of Code 39.

* Core Technical Strengths: The symbology achieves its high density through a compact encoding method (six elements per character) and a special numeric mode (Code Set C) that compresses two digits into one character. It includes a mandatory checksum for robust error detection, and three character sets (A, B, C) that can be dynamically switched within a single barcode to maximize efficiency.

* The Trade-off with Complexity: The high-density design requires more precise printing and scanning equipment than simpler symbologies. The four different element widths and the mandatory checksum make it less suitable for low-precision printing on rough surfaces, as seen in some industry comparisons.

* A Superior Successor: Compared to Code 39, Code 128 offers much higher data density, a complete ASCII character set, and superior data integrity, making it the preferred choice for new and demanding applications. However, Code 39 remains in use due to its simplicity, tolerance for lower-quality printing, and entrenched status in legacy systems.

* The GS1-128 Standard: Code 128's power was amplified by its adoption by GS1 as the basis for the GS1-128 standard. This standard uses Application Identifiers to encode rich, structured supply chain data (like product IDs, batch numbers, and weights) into a single barcode, becoming a cornerstone of global commerce.

* Across Industries: Code 128 is indispensable in logistics for shipping labels, in healthcare for patient ID and blood tracking (ISBT 128), in manufacturing for work-in-progress tracking, in retail for inventory management, and across industries for asset tracking. Its combination of data capacity, compactness, and reliability makes it a highly effective tool for automating business processes.

* An Enduring Legacy: As a foundational technology, Code 128 has not been replaced by 2D barcodes. It continues to be the workhorse of the world's supply chains and a ubiquitous presence on parcels and products globally, representing the culmination of the first wave of barcode innovation.

 

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:

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

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

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