EAN‑128 is a two‑dimensional barcode symbology designed for encoding structured data in a compact format. It extends the legacy EAN/UPC series by adding a high‑capacity symbol that can represent long strings of alphanumeric characters, including machine‑readable information such as product identifiers, serial numbers, dates, and custom data fields. The symbol is commonly used in logistics, manufacturing, and retail to store detailed item and shipment information within a single code.
Introduction
Electronic Article Number 128, abbreviated EAN‑128, is a variant of the Intelligent Code series developed by the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC). While the original EAN and UPC systems provide fixed‑length numeric identifiers, EAN‑128 incorporates a combination of numeric and alphanumeric characters organized into structured data elements. Each element is prefixed by a Function Code (FC), a two‑digit number that signals the type of data that follows. The FCs and the following data form a variable‑length string that is encoded into a barcode with a 3‑row arrangement of wide and narrow bars. The symbol is also referred to as GS1‑128, reflecting its alignment with the global standards body GS1.
Because of its flexibility, EAN‑128 is employed in applications where multiple data items must be transmitted simultaneously. For instance, a shipping label may carry a universal product code, a batch number, a weight, and an expiration date, all within a single barcode. This capability reduces manual data entry, improves traceability, and supports compliance with regulatory requirements that mandate the inclusion of specific data fields on product packaging.
History and Development
Origins in the Intelligent Code Series
The Intelligent Code family emerged in the early 1990s as an evolution of the EAN/UPC family to meet growing demands for richer data representation. The initial member, Intelligent Code 39, combined numeric and alphanumeric characters with a simple checksum. Subsequent iterations added complexity and functionality. By 1997, the International Standards Organization adopted the Intelligent Code 128 standard, which introduced the concept of Function Codes and the ability to encode up to 107 characters in a single linear symbol.
Transition to Two‑Dimensional Form
While Intelligent Code 128 was traditionally linear, the need for higher data density and support for vertical data fields prompted the development of a two‑dimensional counterpart. The first proposal for EAN‑128 appeared in 2001 as part of the GS1 standards. The symbol retained the core concept of Function Codes but adopted a matrix structure that allowed for the efficient packing of data while preserving readability under standard scanning conditions. The official GS1 specification, released in 2004, formalized the use of EAN‑128 in supply chain and retail contexts.
Standardization and Adoption
Since its formalization, EAN‑128 has been incorporated into a variety of ISO and IEC standards. The most prominent is ISO/IEC 15416:2017, which defines the GS1 Application Identifier (AI) system that underpins EAN‑128 encoding. GS1, as an international not‑for‑profit organization, promotes the use of EAN‑128 in logistics, pharmaceuticals, and food safety. Industry adoption has been accelerated by the proliferation of handheld barcode scanners and mobile devices capable of reading two‑dimensional symbols.
Key Concepts and Structure
Function Codes
Function Codes (FCs) are two‑digit prefixes that indicate the type of data that follows. Common FCs include 00 for the global trade item number (GTIN), 01 for product identifiers, 10 for serial numbers, and 21 for lot or batch numbers. Each FC is followed by a data element that may have a fixed or variable length, as specified by GS1 Application Identifier rules. The FCs enable parsers to interpret the encoded information correctly, even when the data string contains multiple heterogeneous elements.
Data Elements and Application Identifiers
Data elements are sequences of alphanumeric characters that represent specific information. GS1 Application Identifiers (AIs) define the semantic meaning of each element, its length, and whether it is fixed or variable. For example, AI (01) is a 14‑digit numeric GTIN, while AI (10) may be up to 20 characters of alphanumeric serial number data. The AI system ensures that any party reading the code can interpret each element unambiguously, provided the AI definitions are known.
Encoding Modes
EAN‑128 supports several encoding modes to maximize data density. The base mode, Mode A, encodes all characters using the full 128‑code set. Mode C encodes numeric data in pairs of digits using 5‑bit codes, thus halving the width of numeric fields. Mode B is similar but designed for alphanumeric strings. Mode C and Mode B can be switched mid‑string by embedding a mode shift character (e.g., 97 for Mode A, 98 for Mode B, 99 for Mode C). These mode shifts enable the symbol to balance width and readability across diverse data types.
Check Digit and Error Detection
Unlike linear EAN/UPC codes, EAN‑128 does not inherently include a check digit. However, individual data elements may contain their own checksums, such as the GTIN field, which includes a trailing check digit calculated using the Luhn algorithm. The absence of a global check digit reflects the variable length of the symbol and the fact that each element is responsible for its own data integrity. Some implementations add an external checksum or apply a CRC to the entire string for added error detection.
Encoding Process
Preparation of the Data String
Encoding begins by assembling a string of Function Codes and corresponding data elements in the order required by the application. For example, a shipping label might encode: 01 + 9780306406157 + 10 + ABC12345 + 21 + 20231015. Each pair of digits is represented as an ASCII character, while alphanumeric elements are preserved in their textual form.
Conversion to GS1 Application Identifiers
The next step is to convert each AI and its data into the GS1 AI format. For numeric fields, leading zeros are preserved to maintain fixed length. For variable‑length fields, the AI definition indicates the maximum length, and the data is truncated or padded as necessary. The resulting string is a concatenation of AI–data pairs that the encoding algorithm will process.
Mode Determination and Shift Encoding
The encoder analyzes the character set of each field to determine the most efficient mode. Numeric fields trigger Mode C, alphanumeric fields trigger Mode B, and mixed fields may require Mode A. Mode shift codes are inserted before a new mode begins, ensuring that the decoder interprets the subsequent characters correctly. The encoder must also consider the start/stop patterns of the barcode to maintain compatibility with scanners.
Generation of the Symbol Matrix
Once the mode sequence is established, the encoder translates each character into its binary representation according to the selected mode. The binary data is then arranged into a two‑dimensional matrix of black and white modules, typically in a 3-row by N‑column configuration. Each row encodes a portion of the data, and the overall width of the symbol depends on the number of columns required. The module size is chosen to ensure readability at the intended scan distance.
Printing and Quality Assurance
After generation, the symbol is printed on a suitable substrate using a barcode printer that can achieve the required resolution. Quality control involves verifying that the printed bars and spaces meet dimensional tolerances and that the symbol can be scanned reliably. Many applications also include a visual human‑readable text representation of the encoded data below the symbol for manual inspection.
Applications
Supply Chain Management
In logistics, EAN‑128 is used to encode shipment information on shipping labels, pallets, and containers. The symbol can carry the carrier’s GTIN, the shipment’s serial number, the origin and destination addresses, and the weight. By embedding all necessary data in a single code, warehouses reduce manual data entry errors and speed up inventory tracking.
Retail and Point‑of‑Sale Systems
Retailers employ EAN‑128 on product packaging to provide detailed information beyond the basic GTIN. Common use cases include encoding a product’s lot number, manufacturing date, expiration date, and price modifiers. EAN‑128 facilitates compliance with regulations that require specific data to be displayed on consumer goods, such as in the food and pharmaceutical sectors.
Pharmaceuticals and Healthcare
In the pharmaceutical industry, EAN‑128 supports serialization of drug products. Each unit can carry a unique serial number, batch number, and expiry date within the same code, aiding in anti‑counterfeiting measures and recall procedures. Regulatory frameworks in the European Union and the United States mandate serialization and traceability, making EAN‑128 an essential tool for manufacturers and distributors.
Manufacturing and Process Control
Manufacturing facilities use EAN‑128 to tag components and assemblies with detailed manufacturing data, such as production line identifiers, operator IDs, and quality control metrics. This data assists in root‑cause analysis when defects occur and supports lean manufacturing practices by enabling real‑time visibility of component status.
Transportation and Logistics Infrastructure
Railway freight, maritime shipping, and air cargo operators embed EAN‑128 on container tags and manifest labels. The symbol may include carrier identifiers, destination ports, and handling instructions, facilitating automated loading and unloading processes. Integration with electronic data interchange (EDI) systems further enhances efficiency by linking physical movements with digital records.
Variants and Related Symbologies
GS1 DataBar
GS1 DataBar, formerly known as Intelligent Mail, shares similarities with EAN‑128 in that it encodes multiple data elements and uses Function Codes. However, DataBar is optimized for small labels and short strings, whereas EAN‑128 supports longer, more complex data sets. GS1 DataBar often employs a linear format but can be combined with a 2D barcode for extended capacity.
GS1‑QR and GS1‑DataMatrix
Both GS1‑QR and GS1‑DataMatrix are two‑dimensional symbologies that encode GS1 Application Identifiers within QR Code and DataMatrix formats, respectively. Unlike EAN‑128, which follows a fixed 3-row matrix structure, these symbols provide square or rectangular matrices that can store more data in a smaller area. They are commonly used in e‑commerce shipping, mobile payment, and inventory management.
Linear Intelligent Code 128
Linear Intelligent Code 128 (also known simply as Code 128) is a one‑dimensional predecessor of EAN‑128. It uses Function Codes and mode switching but lacks the two‑dimensional structure that allows for additional data elements. Code 128 remains in use for legacy applications that do not require the expanded capacity of EAN‑128.
Standards and Specifications
ISO/IEC 15416:2017
ISO/IEC 15416:2017 is the primary international standard that defines GS1 Application Identifier usage within EAN‑128. It specifies the syntax, character sets, and data element lengths required for compliant encoding. The standard also provides guidelines for generating the check digit for GTIN fields and handling variable‑length data.
GS1 General Specifications
GS1 General Specifications provide detailed guidance on implementing GS1 standards across industries. Chapter 6 of the specifications addresses the use of EAN‑128 for logistics, retail, and healthcare applications. The documents include best practices for label layout, font selection, and human‑readable data placement.
IEC 63170-1
IEC 63170‑1 focuses on the physical characteristics of two‑dimensional symbols, including EAN‑128. It sets tolerances for bar width, module spacing, and printing resolution, ensuring that symbols maintain scan reliability across a range of devices.
Implementation and Software Support
Barcode Generation Libraries
Many programming languages provide libraries that support EAN‑128 encoding. Examples include ZXing for Java, BarCodeLib for .NET, and python-barcode for Python. These libraries typically expose functions to assemble the data string, calculate checksums, and render the symbol in raster or vector formats suitable for printing or digital display.
Scanner Firmware and Mobile Apps
Modern handheld barcode scanners incorporate firmware that can decode EAN‑128, including support for mode switching and Function Code interpretation. Mobile scanning applications, often used in warehouse environments, also include libraries that parse EAN‑128 and translate the encoded data into structured records.
Label Design Software
Professional label design tools such as BarTender, NiceLabel, and ZebraDesigner include built‑in support for EAN‑128. These applications allow users to map database fields to Function Codes, set AI rules, and preview the generated symbol within a printable layout. They also enable automation of label generation for high‑volume printing tasks.
Enterprise Resource Planning (ERP) Integration
ERP systems like SAP, Oracle, and Microsoft Dynamics often provide modules for barcode management. Integration with EAN‑128 involves configuring the system to generate the correct data string based on transaction records and to maintain a database of generated serial numbers to prevent duplication. Many ERP vendors offer plug‑in modules that automate the process of label generation, printing, and distribution to point‑of‑sale terminals.
Comparison with Other Barcode Symbologies
Density and Capacity
Compared to linear symbologies such as UPC and Code 128, EAN‑128 offers significantly higher data capacity due to its two‑dimensional structure. While a UPC code can hold 12 numeric digits, EAN‑128 can encode up to 107 characters, including multiple data elements. This allows for the consolidation of diverse information into a single symbol.
Scanning Reliability
EAN‑128’s matrix format provides a level of error resilience that linear codes lack. The redundancy in the two‑dimensional arrangement helps scanners recover from partial defects or misprints. However, this comes at the cost of requiring more sophisticated scanner firmware and higher printing resolution. In environments where scanning speed is paramount, linear codes may still be preferred.
Label Size
Linear symbologies often allow for smaller label sizes, which is advantageous for tiny product packages. EAN‑128’s fixed 3-row structure necessitates a larger minimum width to maintain module size, limiting its suitability for ultra‑compact labels. In such cases, GS1‑QR or DataMatrix may be preferable.
Human Readability
Linear codes can be designed with human‑readable text alongside the symbol, whereas EAN‑128 typically relies on the underlying AI rules to provide the text. The human‑readable representation is often placed below the symbol, but the lack of a simple textual representation within the code itself can make manual verification more challenging. Some implementations include a human‑readable overlay to facilitate quick checks.
Limitations and Challenges
Absence of a Global Check Digit
Because EAN‑128 supports variable length strings, a global check digit is impractical. The lack of a global checksum increases the burden on each data element to maintain integrity. In high‑risk applications, this may necessitate supplemental CRC or external checksum mechanisms.
Printing Complexity
Printing EAN‑128 requires higher resolution and precise alignment to meet module size tolerances. In low‑cost printing environments, achieving the necessary fidelity can be challenging, potentially leading to scan failures. Proper printer calibration and substrate selection are essential to mitigate these issues.
Legacy System Compatibility
Older systems that only support linear symbologies cannot process EAN‑128. Migrating to EAN‑128 requires significant infrastructure updates, including new printers, scanners, and label templates. The cost of migration can be a barrier for small enterprises.
Future Trends
Integration with Internet of Things (IoT)
The proliferation of IoT devices in logistics and manufacturing is creating opportunities for real‑time data capture. EAN‑128 labels can be read by IoT sensors to trigger automated workflows, such as updating inventory systems or initiating quality checks. This integration promises further reductions in manual labor and enhanced traceability.
Advanced Error Correction
Research into embedding CRC or error‑correcting codes within EAN‑128 is ongoing. Future implementations may standardize a global checksum, improving reliability for critical applications like pharmaceuticals and aviation.
Hybrid Symbologies
Combining EAN‑128 with other GS1‑enabled 2D symbologies (e.g., GS1‑QR) can deliver the best of both worlds: high capacity and flexibility. Hybrid approaches can be tailored to specific use cases, such as embedding a DataMatrix within an EAN‑128 frame for extended data storage.
Mobile Commerce and Digital Displays
The rise of mobile commerce demands high‑density, easily scannable symbols that can be displayed on screens. While QR Code and DataMatrix are already used in this domain, EAN‑128 may see increased adoption for shipping labels that incorporate both linear and 2D components, enhancing scanner compatibility across devices.
Conclusion
EAN‑128 is a versatile, high‑capacity symbology that extends the capabilities of traditional GS1 barcodes. By integrating Function Codes, mode switching, and a two‑dimensional matrix structure, it enables the encoding of complex, multi‑element data in a single, scannable symbol. Its adoption across supply chain, retail, healthcare, and manufacturing illustrates its importance in modern business operations. Ongoing development of standards, software libraries, and hardware support ensures that EAN‑128 remains a foundational technology for global traceability and inventory management.
No comments yet. Be the first to comment!