EAN 128 (also known as UCC 128) is a variant of the Code 128 symbology. UCC/EAN-128 codes were then further standardized under the GS1-128 specification — while all are still used to describe this barcode type, the “correct” nomenclature is now considered to be GS1-128 as this format both encodes key data and provides a method for defining the meaning of data by using what are known as “Application Identifiers”.
The shift away from UCC/EAN-128 came after the Uniform Code Council changed its name to GS1 US in 2006. To streamline both the form and function of this Code 128 symbology, the more convoluted code name was replaced with the GS1-128 identifier.
Because EAN 128 is based on Code 128, it offers the same benefits around alphanumeric data density as Code 128 and does not have a fixed length, allowing companies to encode as much information as needed into the barcode itself. GS1-128 also uses the standard A, B, C start code subsets to define the type of data encoded:
- Start Code A — Numeric digits, uppercase characters, standard ASCII symbols, and control codes.
- Start Code B — Numeric digits, upper and lowercase characters, standard ASCII symbols, and control codes.
- Start Code C — Numeric only. Two numeric digits are compressed into each character to improve overall density.
EAN 128 also adds a second start character — a Function Code — which enables special operations.
EAN 128 barcodes contain seven format elements:
- A leading quiet zone at least 10x the width of a narrow bar.
- One Code 128 start character (from set A, B, or C).
- One Function Code or Application Identifier.
- All encoded symbol characters.
- A check digit.
- One stop character.
- A trailing quiet zone.
It’s also worth noting that while this barcode type uses four widths of bars and spaces to encode information, it uses six elements to represent each character instead of the more common four elements per character. While this reduces total density, it allows the encodation of all 128 ASCII characters.
Common Use Cases
UCC/EAN-128 is widely used as a global barcode standard for product information exchange between companies. This is made possible not only by the high density volume of this code type but also the use of Function Codes to specify data such as best before dates, batch numbers, product quantities, and weights.