# EAN-13

> Source: https://docs.barcoder.ai/docs/standards/ean-13
> research date 2026-05-29 · extracted at 2026-10-03
> Publisher: Barcoder — encyclopedia of QR, barcode and payment-code standards

Specifications:
- [ISO/IEC 15420:2009 — EAN/UPC bar code symbology specification](https://www.iso.org/standard/46143.html)
- [International Article Number (EAN) — Wikipedia](https://en.wikipedia.org/wiki/International_Article_Number)
- [EAN/UPC barcodes — GS1](https://www.gs1.org/standards/barcodes/ean-upc)

## Overview

**EAN-13** (European Article Number, 13 digits) is the **international standard 1D retail product barcode** used on essentially every consumer-packaged-goods product sold worldwide outside North America <sup>[1][1], [2][2]</sup>. It was developed by the **European Article Numbering Association (founded 1977, Brussels)** as a 13-digit extension of the original 12-digit US [UPC-A](https://docs.barcoder.ai/docs/standards/upc-a) standard, enabling international identification beyond the US numbering space <sup>[1][1], [3][3]</sup>. Standardised as **ISO/IEC 15420** (current edition 2009) <sup>[4][4]</sup> and governed by **GS1** (the organisation EAN merged into in 2005) <sup>[1][1]</sup>.

EAN-13 is **almost certainly the most-printed barcode in the world by ongoing print volume** — every retail product carton, every supermarket SKU, billions of physical packages annually. Together with [UPC-A](https://docs.barcoder.ai/docs/standards/upc-a) (its 12-digit US counterpart) it forms the foundation of global retail point-of-sale scanning.

## History

**Background — UPC came first (1973/1974)** <sup>[upc-a-ref], [5][5]</sup>: George Laurer's UPC-A 12-digit barcode was selected by the Uniform Grocery Product Code Council in 1973 and first scanned commercially on **26 June 1974** (a pack of Wrigley's chewing gum at a Marsh Supermarket in Troy, Ohio) — the foundational retail barcode.

**1976 — UPC extended to 13 digits** <sup>[1][1]</sup>: The original 12-digit code was extended to 13 digits, allowing the identification system to be used outside the US. The extra digit accommodated country prefixes for international numbering authorities.

**1977 — European Article Numbering Association founded in Brussels** <sup>[1][1], [3][3]</sup>: Twelve European countries' national numbering organisations came together to form the European Article Numbering Association, which standardised EAN-13 as the international retail barcode. Founding members included the UK, Germany, France, Italy, the Netherlands, Belgium, and others.

**1990 — EAN-UCC global cooperation** <sup>[1][1]</sup>: EAN and the US's Uniform Code Council (UCC) signed a global cooperation agreement, presence expanded to 45 countries. The pair operated as **EAN International** (Brussels) and **UCC** (Princeton, NJ) under a coordinated standards umbrella.

**2005 — GS1 unified rebrand** <sup>[1][1], [3][3]</sup>: EAN International + UCC officially merged into **GS1** (Global Standards 1), a single global standards organisation. EAN-13 and UPC-A continued as parallel symbology variants but governance unified. **By 2005 GS1 was present in over 90 countries**; today the count exceeds 110.

**ISO/IEC 15420** — the formal international standard covering both EAN-13 and EAN-8 symbology. Current revision: 2009 <sup>[4][4]</sup>.

## Technical specification

EAN-13 is a **1D linear symbology** with strict fixed-length structure <sup>[1][1], [4][4], [6][6]</sup>:

| Parameter | Value |
|---|---|
| Symbology family | 1D linear |
| Length | **Fixed 13 digits** (no variable length) |
| Character set | Digits 0–9 only |
| Module ("bar") encoding | 7 modules per digit; A/B/C subset coding |
| Bars per digit | 2 bars + 2 spaces |
| Quiet zone | 10 × module width minimum on each side |
| Check digit | Last digit (modulo-10 weighted by 1, 3, 1, 3, …) |
| Magnification factor | 80 % – 200 % of nominal size |
| Nominal size at 100 % | 37.29 mm wide × 25.93 mm tall |

**Digit structure** <sup>[6][6]</sup>:

| Position(s) | Meaning |
|---|---|
| 1 | First digit of the GS1 prefix; encoded *implicitly* through the A/B encoding pattern of the next 6 digits |
| 2–3 | Remaining prefix digits — identifies the GS1 Member Organisation / country (e.g., `30`–`37` = France, `40`–`44` = Germany, `49` = Japan, `50` = UK) |
| 4–12 | Company prefix + product reference number (assigned by national GS1 member to the brand owner, who assigns product numbers within their prefix) |
| 13 | **Check digit** (modulo-10) |

The implicit first-digit encoding is a clever piece of design: a 12-digit barcode space (matching UPC-A) carries a 13-digit number through A/B parity-pattern encoding of the left-half digits. This means **UPC-A scanners read EAN-13 as if it had a 0 prefix** — backward compatibility between the two standards <sup>[upc-a-ref], [6][6]</sup>.

**Variants** <sup>[1][1]</sup>:
- **EAN-13** — standard 13-digit retail product barcode (this report).
- **EAN-8** — short 8-digit variant for small packages where EAN-13 wouldn't fit.
- **EAN-13 with add-on** — EAN-13 + 2-digit or 5-digit supplemental barcode for periodicals (issue numbers) and books (price). See [EAN Add-on (EAN-2, EAN-5)](https://docs.barcoder.ai/docs/standards/ean-add-on).
- **[UPC-A](https://docs.barcoder.ai/docs/standards/upc-a)** — 12-digit US/Canadian equivalent; structurally a subset of EAN-13 (EAN-13 with leading `0` is UPC-A).

## Use cases

EAN-13 is **the universal retail point-of-sale barcode for consumer-packaged goods outside North America** <sup>[1][1], [2][2], [3][3]</sup>:

- **Supermarket and grocery retail** — every food / beverage / household product sold in supermarkets worldwide. The structural use case from day one.
- **Pharmacy and drugstore retail** — over-the-counter pharmaceuticals, personal care, beauty (alongside [Data Matrix](https://docs.barcoder.ai/docs/standards/data-matrix) for prescription drugs in many jurisdictions).
- **Department store and apparel retail** — clothing tags, accessories.
- **Convenience stores** — packaged snacks, beverages, tobacco.
- **Books and magazines** — EAN-13 encoding the ISBN (with prefix `978` or `979`) is the global book industry standard; magazines use EAN-13 with a 5-digit issue add-on. See [Bookland EAN (ISBN)](https://docs.barcoder.ai/docs/standards/bookland-ean) (books), [ISSN](https://docs.barcoder.ai/docs/standards/issn) (serials), [ISMN](https://docs.barcoder.ai/docs/standards/ismn) (printed music) and [JAN-13](https://docs.barcoder.ai/docs/standards/jan-13) (Japan's name for EAN-13).
- **Electronics retail** — consumer electronics packaging.
- **Toys, sporting goods, automotive aftermarket parts** — essentially all retail product categories.
- **Online retail** — Amazon and other e-commerce platforms use EAN-13 / UPC-A as the primary product-matching identifier for catalogue management.
- **Inventory and warehouse management** — pallet-level inventory uses [Code 128](https://docs.barcoder.ai/docs/standards/code-128) / [GS1 DataBar](https://docs.barcoder.ai/docs/standards/gs1-databar) but item-level inventory inherits from EAN-13 retail packaging.

**Why EAN-13 dominates** <sup>[1][1], [6][6]</sup>:
- Fixed length and numeric-only structure → simple scanner decoding, robust at high scan speeds.
- Universal GS1 numbering hierarchy → uniquely identifies any product worldwide.
- Backward-compatible with [UPC-A](https://docs.barcoder.ai/docs/standards/upc-a) (UPC-A is functionally EAN-13 with a leading `0`).
- Public domain — no per-scan royalties.
- 50+ years of installed-base scanner support (every POS scanner ever made reads EAN-13).

## Implementations

EAN-13 has **universal scanner and generator support** — it predates almost every other 2D barcode and every commercial barcode-handling library / scanner supports it natively <sup>[7][7]</sup>:

- **Java + many ports** — [zxing/zxing][7] — 34 000★, active 2025. Decodes EAN-13 alongside UPC-A, Code 128, QR, etc.
- **C / C++** — `libzint` (Zint barcode generator); `zbar` (decoder).
- **Python** — `python-barcode`, `treepoem`, `pyzbar`.
- **PHP** — `picqer/php-barcode-generator`, `picqer/php-barcode-image-renderer`.
- **JavaScript** — `JsBarcode`, `bwip-js` (browser + Node.js).
- **C# / .NET** — `ZXing.Net`, `Aspose.BarCode`, `Dynamsoft Barcode Reader` (commercial), system-level Windows fonts.
- **OS-level mobile** — iOS AVFoundation, Android CameraX / ML Kit all decode EAN-13 natively.
- **POS scanners** — every commercial 1D and 2D POS scanner (NCR, Datalogic, Honeywell, Symbol/Zebra, Cognex, Diebold) reads EAN-13. Hardware support is universal.
- **Mobile SDKs** — Scanbot, Scandit, Anyline, Dynamsoft all support EAN-13.
- **Print and label software** — every barcode-printing software (BarTender, NiceLabel, Zebra Designer, etc.) generates EAN-13 natively.

**Reference documentation** <sup>[3][3], [4][4]</sup>:
- [GS1 General Specifications][3] — defines EAN/UPC numbering, prefix assignments, check-digit calculation, application identifiers.
- [ISO/IEC 15420:2009][4] — formal symbology specification.

## Comparison

**vs. [UPC-A](https://docs.barcoder.ai/docs/standards/upc-a)** — Structurally identical at the symbol level, differs by one digit. UPC-A is 12 digits (US/Canadian retail); EAN-13 is 13 digits (rest-of-world). **EAN-13 with leading `0` is exactly UPC-A** — backward compatibility was a deliberate design choice. Modern POS scanners and inventory systems treat them as equivalent; some retailers store all GTINs as 14-digit GTIN-14 internally and pad shorter codes with leading zeros [[upc-a-ref]].

**vs. [Code 128](https://docs.barcoder.ai/docs/standards/code-128) (and GS1-128)** — Different deployment niche. EAN-13 is the **retail item-level barcode** (one symbol per product); Code 128 / GS1-128 is the **supply-chain pallet-level barcode** (one or more symbols per shipping carton, carrying multiple data fields). Both are GS1-governed but serve different supply-chain levels [[code-128-ref]].

**vs. [Data Matrix](https://docs.barcoder.ai/docs/standards/data-matrix) (GS1 DataMatrix specifically)** — GS1 DataMatrix encodes the same GTIN as EAN-13 but in 2D matrix form. It enables **smaller printable size + multi-field encoding** (GTIN + serial number + batch + expiry in one symbol) — pharmaceutical packaging now uses GS1 DataMatrix instead of EAN-13 for serialisation. **EU pharmaceutical packaging since 2019: GS1 DataMatrix mandatory, EAN-13 supplementary.** [[data-matrix-ref]]

**vs. [QR Code](https://docs.barcoder.ai/docs/standards/qr-code) payment QRs ([SGQR](https://docs.barcoder.ai/docs/standards/sgqr), [Pix](https://docs.barcoder.ai/docs/standards/pix), etc.)** — Completely different domain. EAN-13 is for retail product identification at supermarket checkout; payment QRs are for initiating a financial transaction. The two coexist on consumer-product packaging in many cases — EAN-13 for SKU identification, an additional payment QR for things like donations or app-download links [[qr-code-ref]].

**vs. [GS1 DataBar](https://docs.barcoder.ai/docs/standards/gs1-databar) (RSS / Reduced Space Symbology)** — GS1 DataBar is GS1's smaller-footprint linear successor for product categories where EAN-13 is too large (small produce, coupons, fresh foods with variable weight). Designed to coexist with EAN-13 at the same POS scanner. Not a replacement; addresses a different need.

## Fun facts

**EAN-13 is the most-printed barcode in the world** by ongoing print volume <sup>[1][1], [2][2]</sup> — every retail-packaged consumer product carries one. Estimates put the count at **trillions** of unique EAN-13 codes assigned over the standard's 50-year history, and **tens of billions** of physical EAN-13 symbols printed annually on product packaging. No other barcode (not [UPC-A](https://docs.barcoder.ai/docs/standards/upc-a), not [QR Code](https://docs.barcoder.ai/docs/standards/qr-code), not [Code 128](https://docs.barcoder.ai/docs/standards/code-128)) approaches this print volume.

**The 1977 founding of the European Article Numbering Association in Brussels** <sup>[1][1], [3][3]</sup> is one of those quiet European-standards moments that shaped the global economy decisively. The 12 founding countries' decision to standardise on **EAN-13 instead of fragmenting national retail-barcode standards** prevented exactly the kind of regional incompatibility that hobbled (for example) early international payment systems. The result: a German supermarket scanner can read an Italian product instantly; a Japanese product sold in Brazil scans without conversion.

**Every ISBN since the 1980s is encoded as an EAN-13 with the `978` or `979` prefix** <sup>[1][1]</sup> — making books one of the largest single application categories. The publishing industry's complete adoption of EAN-13-as-ISBN unified global book commerce in a way that wasn't structurally inevitable; it was the practical victory of EAN-13's flexible numbering hierarchy.

**The "first scan" anniversary celebrated each 26 June** is technically [UPC-A](https://docs.barcoder.ai/docs/standards/upc-a)'s anniversary [[upc-a-ref]], not EAN-13's — but EAN-13 inherited and extended UPC-A's installed-base advantage, so the 1974 Marsh-Supermarket-Wrigley-gum moment is functionally the founding event of EAN-13's lineage too. Every annual "barcode anniversary" coverage that mentions UPC-A is implicitly celebrating EAN-13's foundation.

The **GS1 prefix ranges** <sup>[3][3]</sup> encode geographic origin in a way that's culturally informative: prefix `40`–`44` is German-assigned, `49` is Japan, `50` is the UK, `45`/`49` is also Japan in older assignments, `54` is Belgium/Luxembourg, `70`–`73` is Norway, `90`–`91` is Austria, etc. Many consumers worldwide know to read the first 2–3 digits of EAN-13 as a country indicator — though it's technically the country of the GS1 member that assigned the prefix, not necessarily the country of manufacture.

## Status

**Active, foundational, universal** <sup>[1][1], [4][4]</sup>:

- **ISO/IEC 15420:2009** is the current spec
- **GS1 General Specifications** continuously updated; current edition publicly available <sup>[3][3]</sup>
- **Universal POS scanner support** — every commercial scanner reads EAN-13 natively
- **Mandatory** for retail product sales in most retail chains worldwide (de facto standard)
- **Public domain** — no licensing fees

**Strategic context**:
- 2D successors ([Data Matrix](https://docs.barcoder.ai/docs/standards/data-matrix) via GS1 DataMatrix, [QR Code](https://docs.barcoder.ai/docs/standards/qr-code) via various national-payment-QR overlays) coexist with EAN-13 rather than replacing it for the **item-level retail SKU identification** use case.
- **GS1 SunRise 2027** initiative — a multi-year roadmap to migrate primary retail item-level identification from EAN-13 / UPC-A to 2D codes (GS1 DataMatrix or QR) by 2027 in some product categories; the transition is gradual and not eliminating EAN-13 outright.
- For the foreseeable future EAN-13 remains the universal retail product barcode; the 2D migration affects regulated categories (pharma, healthcare) first and consumer-grocery last.
- No deprecation planned; the 50-year-old standard is still adding new applications.

## Sources

[1]: https://en.wikipedia.org/wiki/International_Article_Number
[2]: https://barcodefyi.com/symbology/ean-13/
[3]: https://en.wikipedia.org/wiki/GS1
[4]: https://www.iso.org/standard/46143.html
[5]: https://free-barcode.com/barcode/barcode-history/history-ean-barcode.asp
[6]: https://internationalbarcodes.com/ean-13-specifications/
[7]: https://github.com/zxing/zxing
[8]: https://www.gs1ie.org/standards/data-carriers/barcodes/ean-13/
[upc-a-ref]: https://docs.barcoder.ai/source/standards/upc-a
[code-128-ref]: https://docs.barcoder.ai/source/standards/code-128
[data-matrix-ref]: https://docs.barcoder.ai/source/standards/data-matrix
[qr-code-ref]: https://docs.barcoder.ai/source/standards/qr-code

1. [International Article Number (EAN) — Wikipedia][1]
2. [EAN-13 — BarcodeFYI][2]
3. [GS1 — Wikipedia][3]
4. [ISO/IEC 15420:2009 — EAN/UPC bar code symbology][4]
5. [History of EAN barcode — Free Barcode][5]
6. [EAN-13 specifications — International Barcodes][6]
7. [zxing/zxing — GitHub][7]
8. [EAN-13 — GS1 Ireland][8]

## Deployments

_No country reports mention this standard by name._

## Regions / aggregations not mapped to a single country

- Universal
