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

Chapter 49: The Rise of GS1-128 and UCC/EAN

Executive Summary

This chapter examines the historical and technical transition from Code 39 to GS1-128 (formerly UCC/EAN-128) as the dominant barcode standard for supply chain applications. Code 39, despite its pioneering role and continued presence in specific sectors, lacked native support for standardized application identifiers (AIs), limiting its ability to encode structured, multi-field data. Code 128, developed with greater data density, full ASCII support, and mandatory checksums, provided the technical foundation for GS1-128, which addressed this gap by introducing a framework of AIs to define data meaning and structure. Through detailed case studies across logistics, healthcare, food, automotive, and cosmetics industries, this chapter demonstrates how GS1-128's standardized approach enabled global traceability, regulatory compliance, and supply chain digitizationcapabilities that remain challenging to implement with Code 39. The chapter concludes with a comprehensive summary of comparative advantages and use-case distinctions between Code 39 and GS1-128.

1. Introduction: The Supply Chain Data Problem

In the early years of automatic identification and data capture, Code 39 established itself as a reliable workhorse. Its invention by Intermec in 1974 offered a simple, flexible barcode that could be printed using standard technologies and read by almost any scanner. The military adopted it as LOGMARS (Logistics Applications of Automated Marking and Reading Symbols), and it found widespread use in automotive parts catalogs, library systems, industrial asset management, and internal inventory tracking.

However, as supply chains grew more complex and globalized, a fundamental limitation became apparent: Code 39 could encode a string of characters, but it could not tell the scanner what those characters meant. A barcode reading '12345' could be a product identifier, a batch number, a serial number, or a quantitythere was no native mechanism to distinguish between these data types. This ambiguity forced trading partners to rely on external data agreements, databases, and manual interpretation, creating friction, errors, and inefficiencies.

The problem became particularly acute as industries demanded the ability to encode multiple pieces of informationsuch as global trade item numbers, batch numbers, expiry dates, and serial numberswithin a single barcode. While Code 39 could technically encode all these characters in a concatenated string, parsing that string required prior knowledge of field lengths and positions, which varied between companies and applications. What was needed was a standardized, self-describing data structure.

The solution emerged from the collaboration between the Uniform Code Council (UCC) in the United States and the International Article Numbering Association (EAN) in Europe. In 1991, they released a new standard that would eventually be known as GS1-128 (and initially as UCC/EAN-128). This standard did not invent a new barcode symbology from scratch; instead, it built upon Code 128, a more advanced linear barcode that had been introduced in 1981, and added a critical innovation: Application Identifiers (AIs).

2. Technical Foundations: Code 39 and Its Limitations

2.1 The Code 39 Encoding Scheme

To understand why the transition to GS1-128 was necessary, we must first appreciate the technical characteristics of Code 39 and how they shaped its applications.

Code 39 encodes each character using a pattern of five bars and four spacesnine elements in total. The name 'Code 3 of 9' derives from the fact that exactly three of these nine elements are wide, while the remaining six are narrow. The ratio between wide and narrow elements can range from 1:2 to 1:3, making Code 39 relatively tolerant of printing variations.

The character set is limited to 43 symbols: uppercase letters A through Z, digits 0 through 9, and seven special characters: space, dollar sign ($), slash (/), plus sign (+), percent sign (%), hyphen (-), and period (.). Two asterisk characters are reserved as start and stop symbols, printed before and after the encoded data. This explains why Code 39 barcodes can be visually identified by the asterisks appearing in the human-readable text beneath the bars.

2.2 Technical Advantages That Sustained Code 39

Despite its limitations, several technical features kept Code 39 relevant for decades:

Printability: Code 39 does not require mandatory checksum calculation. This meant that existing printing systemsincluding dot matrix printers, label printers, and even word processing software with appropriate fontscould generate Code 39 barcodes without specialized software. For organizations implementing barcoding for the first time, this dramatically lowered the barrier to entry.

Variable Length: Code 39 can encode variable-length data. The barcode simply expands to accommodate the required number of characters, limited only by the available label space and scanner read range.

Self-Checking: While Code 39 does not mandate a checksum, it is considered self-checking because a single substitution errorwhere one bar is misread as narrow or widewill typically produce a pattern that does not correspond to any valid character. This built-in error detection was adequate for many internal applications.

Broad Device Compatibility: Almost every barcode scanner and printer manufactured since the 1980s can read and print Code 39. This universal compatibility made it the default choice for systems that needed to work across diverse equipment.

2.3 Technical Limitations That Drove Change

The same technical features that made Code 39 accessible also created fundamental constraints:

Low Data Density: Because each character requires nine elements, Code 39 is inherently space-inefficient. Encoding the same data requires approximately 30% more horizontal space compared to Code 128. This limitation became critical as supply chain labels needed to carry more information in standardized label formats.

Limited Character Set: The inability to encode lowercase letters, mathematical symbols, or control characters restricted Code 39 to applications where uppercase alphanumerics and a few special symbols sufficed. As supply chains became global, the need to encode data in multiple languages and formats grew.

Optional Checksum Only: While a modulo-43 checksum can be added for high-precision applications, it was not mandatory, and many implementations omitted it. This created quality inconsistency and scanning reliability issues in automated environments.

No Data Structure: The most critical limitation was the absence of any built-in mechanism to define the meaning of encoded data. A Code 39 barcode could encode 'ABC123,' but the scanner had no way to know whether this was a part number, a batch code, or something else entirely.

3. The Foundation: Code 128 and Its Advantages

3.1 Why Code 128 Was Superior

Code 128, developed in 1981, addressed many of Code 39's shortcomings. Its design represented a significant technical advancement:

Superior Data Density: Code 128 encodes data more efficiently, using a variable-width encoding scheme that packs more information into less space. For the same length of data, a Code 128 barcode is typically about 30% narrower than a Code 39 barcode. This compactness is essential for labels on small packages or items with limited printing area.

Full ASCII Support: Code 128 can encode all 128 characters of the ASCII set, including lowercase letters, punctuation marks, and control characters. This capability enables direct encoding of data in multiple languages and formats without the need for extended encodings.

Mandatory Checksum: Code 128 includes a required modulo-103 checksum. This mandatory verification ensures data integrity and reduces scanning errors, particularly important in automated, high-volume scanning environments.

Subset Switching: Code 128 supports three character subsets (A, B, and C). Subset C offers double-density encoding for numeric data, encoding two digits per character. This is especially valuable for applications involving GTINs, dates, and serial numbers dominated by numeric data.

Self-Verification: The encoding structure includes inherent error detection capabilities that complement the mandatory checksum, making Code 128 robust against scanning distortions and printing imperfections.

3.2 The Missing Piece: Data Structure

Despite these technical advantages, Code 128 shared one fundamental limitation with Code 39: it could encode characters but could not define the semantic meaning of the data. A Code 128 barcode reading '1234567890123' could be a UPC-A number, a GTIN-13, a serial number, or any other 13-digit identifier. The scanner had no way to distinguish.

This is where GS1-128 transformed Code 128 from a technical improvement into a standardized supply chain communication tool.

4. Introducing GS1-128: Structured Data Through Application Identifiers

4.1 What Is GS1-128

GS1-128, initially known as UCC/EAN-128 and later renamed to align with the global GS1 organization, is not a distinct barcode symbology but rather a standardized application of Code 128. It uses Code 128 as the encoding carrier and adds specific rules for data structure and interpretation.

The defining feature is the use of Application Identifiersa system of standardized prefixes that define the meaning and format of the data that follows. When a scanner reads a GS1-128 barcode, it can recognize each AI, extract the corresponding data, and interpret its meaning without requiring external reference tables or trading partner agreements.

4.2 How Application Identifiers Work

An Application Identifier is a two-to-four-digit numeric prefix that defines the type and format of the data that follows. For example:

- AI 00: Serial Shipping Container Code (SSCC)

- AI 01: Global Trade Item Number (GTIN)

- AI 10: Batch or Lot Number

- AI 15: Minimum Durability Date (best before)

- AI 17: Expiration Date

- AI 37: Count of Items in a Unit

Each AI has a defined data format and length, either fixed or variable. For variable-length data, a special character (Group Separator, represented as FNC1 in the barcode) indicates the end of one field and the beginning of the next.

This system allows multiple data fields to be encoded within a single barcode, with each field clearly identified and interpretable. For example, a single GS1-128 barcode might contain AI 01 for GTIN, AI 10 for batch number, and AI 17 for expiration datethree distinct pieces of information that can be automatically parsed and routed to appropriate systems.

4.3 The FNC1 Special Character

A technical distinction of GS1-128 is the use of the FNC1 character immediately following the start character. This signals to the scanner that the barcode follows GS1-128 rules and should be interpreted as GS1-formatted data rather than a generic Code 128 string. This ensures compatibility with existing Code 128 scanners while enabling the enhanced interpretation capabilities.

4.4 Technical Specifications

GS1-128 barcodes can encode up to 48 data characters, including the AI prefixes, and the physical length must not exceed 165mm including the quiet zones. The use of Code 128's subset switching allows numeric fields to be encoded with double density, maximizing the information that can fit within the space constraints of standard logistics labels.

5. Industry Applications: How GS1-128 Transformed Supply Chains

5.1 Logistics and Transportation

The logistics industry was perhaps the earliest and most enthusiastic adopter of GS1-128. Before GS1-128, tracking shipments required managing multiple identifiers manuallywarehouse numbers, carton codes, pallet IDs, and shipping records.

Case Study: Pallet-Level Tracking with SSCC

The Serial Shipping Container Code (SSCC), identified by AI 00, became a cornerstone of modern logistics. Each shipping containerwhether a pallet, a carton, or a bulk containerreceives a unique SSCC encoded in a GS1-128 barcode. When the container is scanned at any point in the supply chain, the SSCC provides a key to retrieve all associated information from the sender's systems: what products are inside, where they originated, their batch numbers, expiration dates, and the intended destination.

A real-world example comes from the supply chain of a major protein processor. Each case of cured meat arrives with a GS1-128 label encoding the SSCC, GTIN, batch number, expiration date, and often catch weight. When received, the warehouse management system scans the barcode, updates inventory, captures the weight data for invoicing, and tracks the batch through storage and ultimately into production. This creates what the system vendor describes as a 'passport' for each casescanned once, propagated everywhere, and maintaining its identity chain uninterrupted.

Benefits Realized

- Immediate identification of batch provenance

- Accurate weight capture for variable-weight products

- Integration with Advanced Shipping Notices (ASN) for automated receiving

- End-to-end traceability for recall management

- Reduced manual data entry and associated errors

5.2 Healthcare and Pharmaceuticals

The healthcare industry faced unique challenges that made GS1-128 adoption not just beneficial but regulatory-mandated in many jurisdictions. Patient safety, drug pedigree tracking, and supply chain security demanded rigorous traceability.

Pharmaceutical Serialization

Regulatory bodies worldwide mandated serialization of prescription drugs at the unit level. GS1-128 barcodes on shipping cases and pallets carry the GTIN, batch or lot number (AI 10), expiration date (AI 17), and serial number (AI 21) for each product. This allows verification of drug authenticity at each point in the supply chain, from manufacturer through distribution to pharmacy.

In healthcare logistics, GS1-128 barcodes on medical devices and pharmaceutical products support:

- Verification that products have not been recalled or expired

- Automated inventory management in hospital pharmacies

- Tracking of high-value devices through hospital supply chains

- Regulatory compliance with the U.S. Drug Supply Chain Security Act (DSCSA) and European Falsified Medicines Directive (FMD)

Medical Device Identification

The Unique Device Identification (UDI) system, now required in many countries, often uses GS1-128 as the barcode carrier for device labels. The barcode encodes the device identifier, production identifier, lot number, and expiration dateallowing regulators to identify and recall defective devices quickly.

5.3 Food Industry: Traceability and Safety

Food safety regulations worldwide have driven adoption of GS1-128 in food supply chains. From farm to fork, the ability to trace products rapidly during a recall can save lives and protect brand reputation.

Case Study: Argentine Egg Traceability

A practical example comes from Rothex, an Argentine company handling egg production, packaging, and distribution. The company faced a challenge: eggs arrived from multiple farms in varying quantities, and batches became mixed during storage and packaging. Tracking which eggs came from which farm was difficult, and a recall would be challenging.

The solution involved implementing GS1-128 barcodes with SSCC codes on each pallet. Each pallet was assigned a unique SSCC, associated in the system with the batch numbers of the eggs on that pallet. When eggs from three farms arrived with different quantities, they were loaded onto pallets, and the system tracked which batches were on which pallet. Later, when packaged eggs were ready for shipment, the system could identify the origin of every egg in every box through the SSCC links.

The benefits were substantial:

- Real-time tracking of product location

- Ability to identify mixed-batch pallets by individual farm origin

- Dramatically reduced time to execute product recalls

- Optimized inventory management through faster information searching

- A new working culture based on data integrity and traceability

Perishable Goods Management

For products with limited shelf life, GS1-128's ability to encode expiration dates (AI 17) and best-before dates (AI 15) enables automated stock rotation. Warehouse management systems can prioritize older stock, reducing waste and ensuring consumers receive fresh products.

5.4 Automotive and Manufacturing

The automotive industry was an early adopter of barcoding, with Code 39 deeply entrenched in parts catalogs and manufacturing processes. However, the need to track components across global supply chains with increasing precision drove adoption of GS1-128.

Parts Traceability

Automotive parts manufacturers encode part numbers, serial numbers, manufacturing dates, and lot numbers in GS1-128 labels. When a part fails in the field, the barcode allows manufacturers to:

- Identify the specific production batch

- Trace the affected vehicles that received parts from that batch

- Manage targeted recalls rather than broad, costly general recalls

Production Line Automation

In manufacturing, GS1-128 barcodes are used on work-in-process materials to identify components, route them through production lines, and ensure that correct parts are assembled into finished products. The structured data format enables seamless integration with manufacturing execution systems (MES) and enterprise resource planning (ERP) systems.

5.5 Retail and Consumer Goods

While retail point-of-sale uses UPC and EAN barcodes, GS1-128 is extensively used behind the scenes for inventory management and supply chain logistics.

Case Study: Cosmetics Supply Chain Digitization

The cosmetics industry provides a modern example of GS1-128's role in digital transformation. In 2023, the first domestic standard for cosmetic product barcoding was released in China, based on the GS1 global identification system. This established a framework for 'one product one code,' 'one batch one code,' and 'one item one code' digital management.

A leading cosmetics company implemented this standard across its flagship product line. Each product received a digital identity encoded in GS1-128 and QR codes, enabling traceability from raw material cultivation through production and to the final consumer.

The implementation yielded measurable results:

- Efficiency increased by 57.89%

- Energy consumption per unit output decreased by 26.88%

- Operating costs reduced by 23.35%

- Product development cycles shortened by 31.25%

- Defect rates declined by 28.57%

- Over 150 million QR codes consumed annually

- Production capacity doubled compared to 2021

- Supply chain inventory days decreased from 45 to 31

- On-time order delivery reached 98.7%

- Returns due to logistics information errors dropped by 62%

- Annual operating cost savings exceeded 12 million yuan (approximately USD $1.65 million)

This case demonstrates that GS1-128, though a simple barcode on the surface, becomes part of a comprehensive digital ecosystem when integrated with manufacturing execution systems, warehouse management systems, and consumer engagement platforms.

5.6 Cross-Border Trade and Global Supply Chains

International trade introduces complexity because different countries and regions have adopted different barcode standards. GS1-128 addresses this by providing a globally harmonized standard. Any GS1-128 barcode can be read and interpreted the same way in any country, enabling seamless cross-border logistics.

For exporters, GS1-128 compliance is often required by trading partners and regulatory authorities. A barcode that encodes the correct data in the correct AI format can pass through customs, be received by logistics providers, and be scanned by retail systems worldwide without reinterpretation.

6. Comparative Analysis: Code 39 vs. GS1-128

Understanding why GS1-128 rose to prominence requires a clear comparison of its capabilities against Code 39 across multiple dimensions.

6.1 Data Capacity and Density

Code 39's nine-element per character structure is inherently space-inefficient. For the same physical barcode size, GS1-128 (using Code 128) can store approximately 30-40% more data. This compactness is crucial on supply chain labels, where space is constrained by standardized label formats and the need for multiple barcodes and human-readable information.

6.2 Character Set Support

Code 39 is limited to uppercase letters, digits, and a small set of special symbols. It cannot encode lowercase letters, making it unsuitable for data that includes mixed case, and its restricted symbols prevent encoding many data formats directly.

GS1-128 supports the full ASCII character set through Code 128, enabling direct encoding of product names, descriptions, and data in multiple languages. This is essential for global supply chains operating in diverse linguistic environments.

6.3 Data Structure and Meaning

This is the decisive advantage of GS1-128. Code 39 provides no native mechanism to define the meaning of encoded data. The same string 'ABC123' could be a batch number, a part number, or something else entirely. To interpret a Code 39 barcode, the scanning system must rely on external knowledgeknowing the position of data fields, their lengths, and their meanings for each specific application.

GS1-128, through Application Identifiers, encodes the meaning alongside the data. A scanner reading a GS1-128 barcode can parse each field, know what it represents, and route it to the correct system. This self-describing capability reduces interpretation errors and enables automated integration with business systems.

6.4 Checksum and Error Detection

Code 39's checksum is optional, and many implementations omit it, accepting the higher risk of undetected scanning errors. This is acceptable in low-volume, non-critical applications but becomes problematic in high-speed automated systems where thousands of barcodes are scanned per day.

GS1-128 requires a mandatory modulo-103 checksum as part of the Code 128 specification. Every barcode includes verification, ensuring that scanning errors are detected and prevented from entering downstream systems.

6.5 Industry Standards and Acceptance

Code 39 was never standardized for global supply chain applications. It is a general-purpose barcode that different industries and companies adopted with their own conventions. This fragmentation required trading partners to negotiate data formats and interpretations bilaterally.

GS1-128 is built on GS1 standards, the same global standards body that governs UPC and EAN barcodes for retail. This creates compatibility and interoperability across industries and countries. A logistics provider, healthcare distributor, and food manufacturer can all use GS1-128 and be confident that their barcodes will be correctly interpreted by partners and systems worldwide.

6.6 Regulatory Compliance

Increasingly, regulations mandate GS1-128 for specific applications. Pharmaceutical serialization, medical device labeling, and food traceability laws in multiple countries reference GS1-128 as the compliant encoding method. Code 39 is not recognized for these regulatory purposes, making GS1-128 the necessary choice for regulated industries.

6.7 Where Code 39 Still Endures

Despite GS1-128's advantages, Code 39 continues to be used in specific contexts where its limitations are acceptable and its simplicity is valued.

Automotive Parts Catalogs: Many automotive suppliers have long-established parts numbering systems based on Code 39. Changing to a new barcode standard would require re-engineering decades of legacy data, a cost that outweighs the benefits of switching for internal applications.

Defense Logistics: The U.S. Department of Defense mandated Code 39 through the LOGMARS standard. While this standard has evolved, many defense contractors continue to use Code 39 for compatibility with legacy systems.

Industrial Asset Management: For internal tracking of tools, machinery, and equipment in a single facility, Code 39 is often sufficient. The data requirements are simpletypically just an asset identifierand the printing simplicity and broad scanner compatibility make it a practical choice.

Library Systems: Many libraries use Code 39 for shelf labels and book tracking, where only a simple book identifier is needed and scanners are already configured for Code 39.

Small Internal Applications: Any application where the data is simple, the volume is moderate, and the scanning environment is controlled can still benefit from Code 39's accessibility. A small warehouse, a research lab, or a quality control station may find Code 39 meets its needs without the complexity of GS1-128 implementation.

7. The Technology Behind the Transition

7.1 Why Not Simply Extend Code 39

One might ask why the industry didn't develop a similar Application Identifier system for Code 39, avoiding the need for a new symbology.

The answer lies in the fundamental technical limitations of Code 39. To add Application Identifiers would require:

1. A delimiter character to separate data fieldsCode 39's character set is limited to 43 characters, and all are already used for data or special symbols.

2. Higher data density to fit the additional AI prefix charactersCode 39 is already less dense than Code 128; adding prefixes would make the barcodes unacceptably long for standard logistics labels.

3. Mandatory checksum for data integrityretroactively requiring checksums on all existing Code 39 implementations would break compatibility with legacy systems.

4. Extended character set supportmany AI fields include lowercase or special characters not supported by Code 39.

Thus, the transition to Code 128 as the underlying symbology was technically necessary.

7.2 Compatibility with Existing Infrastructure

A critical success factor for GS1-128 was that it did not require replacing all existing scanning equipment. Any scanner that could read Code 128 could read GS1-128, because GS1-128 uses Code 128 as its encoding method. The FNC1 character in the barcode, while interpreted specially by GS1-aware systems, does not prevent standard Code 128 scanners from reading the data.

This compatibility allowed gradual adoption. Organizations could begin printing GS1-128 labels while continuing to read them with existing equipment. As systems were upgraded to GS1-128 interpretation, the value of the structured data could be unlocked without a wholesale infrastructure replacement.

7.3 Integration with Digital Business Systems

GS1-128's true power became apparent when integrated with enterprise systems. A GS1-128 barcode on a shipping carton can be scanned at receiving, and the AI-separated data can automatically populate:

- Warehouse management system with GTIN, batch, and quantity

- Quality control system with expiration date and required inspections

- ERP system with inventory update and asset tracking

- Customer relationship system with order fulfillment verification

This integration capability made GS1-128 the preferred choice for companies implementing supply chain digitization initiatives, including IoT (Internet of Things) frameworks and automated data capture ecosystems.

7.4 The Role of Global Standards Organizations

The success of GS1-128 depended on the credibility and reach of the GS1 organization. GS1 (formerly the Uniform Code Council and EAN International) already managed the ubiquitous UPC and EAN barcodes found on retail products worldwide. The same organization's endorsement of GS1-128 gave it instant legitimacy and a ready adoption pathway.

GS1 maintained the AI registry, ensured standards compliance, and provided training and certification programs. This ecosystem of support made it practical for companies of all sizes to implement GS1-128, rather than each company developing its own ad hoc data encoding schemes.

8. Case Study: The Journey from Code 39 to GS1-128 in a Manufacturing Supply Chain

To illustrate the transition, consider a hypothetical manufacturer of electronic components, 'ElectroParts,' operating globally.

8.1 The Code 39 Era

In 1995, ElectroParts implemented barcoding with Code 39. Each part received a label with a part number encoded in Code 39. Production workers scanned the barcode to record that a part was made, and warehouse workers scanned it for inventory updates. The system worked because ElectroParts maintained a central database that mapped each part number to its description, specifications, and location.

The limitations emerged as ElectroParts grew internationally. Customers in different countries wanted to scan parts on receipt, but their systems had no way to validate the data against their own product databases. Quality issues required tracing specific batches, but the part number alone did not encode batch information. Recalls required manually checking hundreds of labels against spreadsheet records. The system was functional but labor-intensive.

8.2 The Transition to GS1-128

In 2010, ElectroParts decided to adopt GS1-128 for all outgoing shipments. New label printers were installed, and the ERP system was updated to generate GS1-128 labels with GTIN, batch number, serial number, and manufacturing date encoded in standard AIs.

The impact was immediate:

- Customers could now scan barcodes on receipt and automatically verify that the correct parts were received and reconcile with purchase orders.

- A customer-reported quality issue could be traced to the specific production batch within minutes, enabling targeted recall notification and limiting liability.

- Automated receiving systems in customer warehouses could process ElectroParts shipments without manual entry, making ElectroParts a preferred supplier.

- Regulatory compliance with international safety standards was simplified, as the required traceability data was present in standard format.

8.3 Continued Use of Code 39 Internally

Significantly, ElectroParts did not eliminate Code 39 entirely. For internal work-in-process tracking, simple part number labels remained Code 39, because the internal scanning environment was controlled and the data requirements were simple. The investment in internal systems would not have been justified for the limited benefit of switching to GS1-128 internally.

This hybrid approachGS1-128 for external supply chain communication, Code 39 for internal simplified trackingrepresents a common pattern among companies that have undergone the transition.

9. Future Trajectory: The Rise of 2D Barcodes

While GS1-128 represented a major advance over Code 39 for supply chain applications, it is not the end of the barcode evolution story. Two-dimensional barcodesparticularly QR codes and Data Matrix codesare increasingly used for applications requiring even higher data capacity and advanced features.

9.1 Capabilities Beyond GS1-128

2D barcodes can encode thousands of characters, making them suitable for encoding entire product records, URLs to product information, and complex structured data sets. They also include advanced error correction, allowing reading even if the barcode is damaged.

9.2 GS1's Digital Link Standard

GS1 has introduced GS1 Digital Link, a standard for encoding GS1 identifiers in QR codes and other 2D barcodes. This allows a single scan to retrieve structured data from an online source, providing much richer information than can be encoded in a linear barcode. Some of the cosmetic industry's 'one product one code' implementations use this standard.

9.3 Continued Relevance of GS1-128

Despite the rise of 2D barcodes, GS1-128 remains essential for many applications:

- Logistics labels on shipping containers and pallets are dominated by GS1-128 because of the mature reading infrastructure and clear standards.

- Healthcare and pharmaceutical regulations still mandate GS1-128 for many applications.

- The installed base of linear barcode scanners ensures GS1-128 will be readable for the foreseeable future.

For many organizations, the appropriate strategy is to use GS1-128 for supply chain logistics and regulated applications, while adopting 2D barcodes for consumer-facing and information-rich applications.

10. Summary: Comparative Insights and Guiding Principles

10.1 Core Technical Comparison

| Feature | Code 39 | GS1-128 |

| Encoding Scheme | Nine elements per character, three wide | Variable-width, three character subsets |

| Data Capacity | Low density, requires more space | High density, 30%+ more compact |

| Character Set | 43 characters (uppercase, digits, 7 symbols) | Full ASCII (128 characters) |

| Data Structure | No native structure, meaning external | Application Identifiers provide self-describing data |

| Checksum | Optional (modulo-43) | Mandatory (modulo-103) |

| Industry Standard | General purpose, not GS1-compliant | GS1 standard, globally harmonized |

| Regulatory Recognition | Not recognized for regulated applications | Recognized for healthcare, food, and logistics regulations |

| Printing Simplicity | Simple, can be generated with fonts | Requires software that implements GS1 rules |

| Scanner Compatibility | Universal compatibility | Code 128 compatible, with enhanced GS1 interpretation |

10.2 Application Selection Guidelines

Choose Code 39 when:

- The data to be encoded is simple: a single identifier, asset number, or internal code.

- The application is internal to a single facility or company where data meaning is already established.

- Printing equipment is limited and cannot easily generate Code 128 or GS1-128.

- Broad compatibility with diverse scanners is required, and adding GS1 interpretation is not needed.

- The application falls within Code 39's character set (uppercase alphanumeric plus a few symbols).

- The cost and complexity of GS1-128 implementation cannot be justified.

Choose GS1-128 when:

- Data includes multiple fields that need to be distinguished: GTIN, batch, expiry, serial number, quantity.

- The barcode will be read by external trading partners who need to interpret the data automatically.

- Regulatory compliance requires traceability with batch, date, or serial data.

- The barcode will be used in a supply chain logistics context with standardized label formats.

- Integration with ERP, WMS, or MES systems is required for automated data capture and processing.

- Global interoperability across countries and supply chain participants is essential.

10.3 A Practical Philosophy

For most organizations, the practical philosophy should be: Use Code 39 only where its limitations are acceptable and its simplicity is a genuine advantage. For any application that involves external supply chain communication, regulatory compliance, or complex data encoding, GS1-128 is the appropriate choice. The transition to GS1-128, once made, unlocks structured data capabilities that enable automation, analytics, and integration far beyond what Code 39 can provide.

11. Conclusion

The rise of GS1-128 represents a fundamental shift in how supply chains use barcodes. Code 39, with its simple design and universal compatibility, established the foundation for barcode-based data capture in inventory, logistics, and industrial applications. Its technical characteristicslow data density, limited character set, optional checksum, and no data structurewere adequate for an era when barcodes were primarily used for simple identification within controlled environments.

As supply chains became global and data requirements expanded, the need for standardized, self-describing data encoding became critical. Code 128 provided the technical advantages of density, full ASCII support, and mandatory checksum. GS1-128, building on Code 128, added the critical innovation of Application Identifiers, enabling barcodes to carry structured data that can be interpreted by any system anywhere in the world.

The case studies across logistics, healthcare, food, automotive, and cosmetics industries demonstrate that GS1-128 is not merely a technical upgrade but an enabler of supply chain digitization, traceability, regulatory compliance, and operational efficiency. From tracking eggs from Argentine farms to enabling cosmetic manufacturers to achieve dramatic performance improvements, GS1-128 has proven its value across diverse applications.

Yet Code 39 persists in specific niches where its simplicity and legacy compatibility remain valuable. The automotive parts catalogs, defense logistics, library systems, and internal asset tracking applications where Code 39 continues to serve are reminders that in technology, better does not always mean obsolete. The right tool depends on the specific requirements of the application.

The evolution from Code 39 to GS1-128 illustrates a broader pattern in technology: successful innovation often builds on established foundations, preserving compatibility while adding new capabilities. Code 128 as the encoding carrier, GS1-128 as the structured data standard, and the GS1 organization as the standards body created a unified ecosystem that could be adopted gradually, unlocking increasing value as implementations matured.

For organizations today, the question is not whether to choose Code 39 or GS1-128, but rather to understand the specific requirements of each application and select the standard that best meets those needs. The technical comparisons and case studies presented in this chapter provide the framework for making that choice, ensuring that supply chain data capture continues to enable operational excellence and global commerce.

 

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:

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

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

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