GS1 Barcodes Explained: EAN-13, UPC-A, GS1-128, ITF-14 and Data Matrix

GS1 Barcodes Explained: EAN-13, UPC-A, GS1-128, ITF-14 and Data Matrix

Every product you pick up in a store carries a barcode, but they are not all the same. Some identify a product at the checkout, some track a carton through a warehouse, and some let you trace a single item from factory to shelf. This guide explains the most common GS1 barcodes, what each one is for, and how to tell them apart.

What Is GS1 and GTIN?

GS1 is the global standards body behind most retail and supply-chain barcodes. It manages a system of unique company prefixes and product numbers. The number encoded in a barcode is called a GTIN (Global Trade Item Number). A GTIN is just a string of digits that identifies a product and its packaging level — a single can, a six-pack, or a carton of 24 each gets its own GTIN.

Depending on the region and packaging level, the GTIN is written in different lengths and different barcode formats, which is where EAN-13, UPC-A and ITF-14 come in.

Retail Barcodes: EAN-13 and UPC-A

EAN-13 is the 13-digit barcode used on retail products in most of the world, including Europe and Asia. It encodes a full 13-digit GTIN and is what scanners read at the checkout.

UPC-A is the 12-digit equivalent used mainly in North America. It encodes a 12-digit GTIN. The two are closely related: an EAN-13 number can often be formed by prefixing a UPC-A number with a leading zero.

Both are read-only, fixed-length codes. They carry just enough data to say "this is product X" — no batch, no serial, no expiry.

Logistics Barcodes: ITF-14, Code 128 and GS1-128

ITF-14 is a 14-digit barcode printed on corrugated cartons and outer cases. It is designed to survive rough handling and direct printing on cardboard. Because it is read at the carton level rather than the item level, its GTIN is 14 digits.

Code 128 is a high-density barcode that can encode the full ASCII character set, not just digits. It is widely used in logistics, warehousing and internal tracking where you need letters and numbers.

GS1-128 (formerly EAN-128) is Code 128 with a GS1 structure on top. It uses Application Identifiers (AI) — short prefixes in parentheses such as (01) for GTIN, (21) for serial, (10) for batch and (17) for expiry — to bundle several pieces of data into one barcode. That is what makes it the backbone of one-code-per-product traceability.

2D Codes: Data Matrix and GS1 Data Matrix

Data Matrix is a two-dimensional, square barcode that stores much more data in a smaller space than any linear code. It is common in electronics and healthcare.

GS1 Data Matrix applies the same GS1 Application Identifier rules to a Data Matrix symbol. Because it can hold the GTIN, serial, batch and expiry in a tiny footprint, it is the format of choice for small packages, medical devices and automated traceability systems.

One Code per Product: How Serialization Works

A plain EAN-13 identifies a type of product, but every item of that type carries the same number. For anti-counterfeiting and traceability, you need each item to carry a unique code. That is done by combining a GTIN with a serial number using a GS1-128 or GS1 Data Matrix barcode, for example (01)0690123456789(21)ABC12345. Each printed code is unique, so a consumer or inspector can scan it and trace exactly which unit it is.

What About the Check Digit?

Most GS1 barcodes end with a check digit — a single digit computed from the rest of the number using a modulo-10 formula. It lets scanners reject misread or mistyped codes immediately. EAN-13, UPC-A and ITF-14 all carry an explicit check digit; Code 128, GS1-128 and Data Matrix build error checking into the symbol itself.

Quick Comparison

BarcodeTypeTypical Use
EAN-13Linear, 13 digitsRetail checkout (worldwide)
UPC-ALinear, 12 digitsRetail checkout (North America)
ITF-14Linear, 14 digitsCartons and outer cases
Code 128Linear, alphanumericLogistics and internal tracking
GS1-128Linear, AI-structuredSerialized items, batch & expiry
Data Matrix2DSmall packages, electronics
GS1 Data Matrix2D, AI-structuredSmall-item traceability

Generate Them Yourself

You can create all of the barcodes above without installing anything using the ElagentPak GS1 Barcode Generator. It handles the check digit automatically, offers a GS1 Application Identifier builder, and can serialize a whole batch of codes for one-code-per-product use.