EAN(European Article Number) 是一種由 13 位數字組成的商品編碼系統,自 1970 年代問世以來,已成為全球零售業最廣泛使用的條碼標準。如今,幾乎所有零售商品的包裝上都可見 EAN-13 條碼的身影。
透過掃描 EAN-13 條碼,收銀員能迅速且準確地將商品資訊輸入 POS 系統。相較於傳統的手動輸入方式,不僅大幅提升結帳效率,更有效降低人為錯誤率。這種「一掃即得」的便利性,正是條碼技術能迅速普及的關鍵所在。
EAN-13 的起源可追溯至 1970 年代的美國。當時,美國科技公司開發出 UPC(Universal Product Code)條碼,率先應用於零售業,並在北美市場取得巨大成功。受此啟發,歐洲各國以 UPC 為基礎,設計出相容性更高、位數更長的條碼系統。為突顯其地域屬性,該系統被命名為「歐洲商品編碼系統」(European Article Numbering System),簡稱 EAN。
憑藉其卓越的效率與準確性,EAN 系統迅速在歐洲普及,並推動全球零售業的標準化進程。包括日本、香港、台灣與中國大陸在內的亞洲地區,也陸續採用 EAN 標準。時至今日,儘管名稱仍保留「歐洲」字樣,EAN-13 已成為真正的國際通用條碼,其 13 位編碼結構更被國際標準化組織(ISO)正式列為標準之一(ISO/IEC 15420)。
上圖:EAN-13 條碼
EAN-13 條碼主要應用於零售商品。
條碼僅包含數字,不含任何字母。
條碼長度固定,共 13 位數字。
前 12 位數字可自訂,第 13 位為校驗碼,由特定數學公式自動計算。
條碼支援雙向掃描,無論由左至右或右至左,甚至旋轉 180 度後仍可正確讀取。
條碼左右與中央設有較長的分隔線,方便肉眼辨識。
EAN-13 是全球通用的業界標準,廣泛應用於各地零售系統。
為了系統化地分配 EAN 條碼,確保每件商品擁有獨一無二的編碼,各地成立了「國際商品條碼協會」(International Article Numbering Association),後來更名為 GS1。GS1 在各國或地區設有分支機構,負責當地的條碼分配工作。香港、中國大陸與台灣皆有獨立的 GS1 機構負責管理。
GS1 將 EAN 條碼稱為 GTIN-13 或 GTIN-8。儘管名稱有所更新,但由於 EAN 條碼已廣泛使用多年,業界仍普遍使用「EAN」作為簡稱。
由於 EAN 條碼號碼不可重複使用,因此必須透過統一機構分配。你可以向香港 GS1、中國大陸 GS1,或其他地區的 GS1 機構申請。不同地區的收費標準可能差異甚大,建議前往各地 GS1 官方網站查詢最新價格與申請流程。
值得注意的是,申請 EAN 條碼並非法律強制要求,因此你也可以自行創建號碼。不過這樣做可能會與其他公司使用的編碼重複,導致商品識別上的混淆與風險。
中國大陸的 EAN 條碼分配由官方機構「中國物品編碼中心」負責,該中心隸屬於政府管理。你可以透過其官方網站了解申請流程與相關資訊。
000000++++++
EAN-13 條碼的號碼由「前綴碼」+「廠商識別代碼 + 商品項目代碼」+「校驗碼」三部份所組成。
前綴碼 Prefix
|
廠商識別代碼 + 商品項目代碼
|
校驗碼 Check Digit
|
佔 3 個碼, 是申請條碼的地區的代號。例如中國香港是「489」。
|
佔 9 個碼,分別是代表廠商的編號及這件單項商品的編碼。
|
佔 1 個碼,是為了防止條碼掃瞄器誤讀而設的。由特定的數學算法來計算。
|
a0845
EAN-13 的頭3個數字是「前綴碼」(prefix),是代表申請條碼的地區。
舉例:中國香港是「489」、中國是「690-695」、日本是「450-459 及 490-499」等等。
注意此號碼不是產地來源,只是指申請條碼的地區。
例子
香港地區的前綴碼是489。港商在大陸設廠生產,而在香港申請條碼號碼。產品可在香港銷售或出口到外國,貨物可用489的前綴碼。所以以條碼開首的號碼來分辨產地是不可行的。條碼並不是產地證明書,不能用作為產地來源的證明。
相關資料:EAN-13 條碼的前綴碼(Prefix)所代表的地區
「廠商識別代碼 + 商品項目代碼」,佔 9 個碼。分別代表申請條碼的廠商的號碼及代表單項産品的號碼。
EAN-13 的結構由左至右,包括了左側空白區,起始符,左側數據,中間分隔符,右側數據,校驗碼,終止符,右側空白區。
以下說明 EAN 條碼的結構。
空白區
空白區位於左右兩側,是刻意留下的一點空位,以避免條碼跟包裝上的其他印刷內容太接近而影響掃瞄。
起始符、終止符
起始符和終止符位於條碼的左右兩側。是 EAN 條碼的開始和終結,是給條碼掃瞄器分辨的記認。
上圖:EAN-13 的起始符和終止符。(Start/End Marker)
起始符和終止符的組成是一樣的。
如以二進制來表示起始符和終止符,兩者都是 101。
如以黑色條和白色條來表示,就是黑白黑。
起始符、終止符: Start/End Marker
中間分隔符
中間分隔符位於條碼的中間。把 EAN 條碼分成左側和右側,亦是給條碼掃瞄器分辨的記認。
上圖:中間分隔符。
如以二進制來表示中間分隔符,就是 01010。
如以黑色條和白色條來表示,就是白黑白黑白。
中間分隔符: Center Marker
左側和右側
以中間分隔符界,EAN-13條碼分為左側和右側。左側和右側的編碼方式有不同。
0 ~ 9
EAN-13 條碼由 0 ~ 9 的數字所組成。
條碼由黑色條和白色條組成。
在EAN-13條碼每個數字由7條黑白條組成。所謂「組成」提指黑色條和白色條的排列方法。
另外,每個數字各有3種不同的組成方式,分為稱為 A子集 、B子集 和 C子集。
現把 0 ~ 9 的 A、B、C子集的所有組成方法表列如下:
數字字符 | 左側數據符 | 右側數據符 | |
---|---|---|---|
A | B | C | |
0 |
0001101
白白白黑黑白黑
0 0 0 1 1 0 1
白 白 白 黑 黑 白 黑
![]() |
0100111
白黑白白黑黑黑
0 1 0 0 1 1 1
白 黑 白 白 黑 黑 黑
![]() |
1110010
黑黑黑白白黑白
1 1 1 0 0 1 0
黑 黑 黑 白 白 黑 白
![]() |
1 |
0011001
白白黑黑白白黑
0 0 1 1 0 0 1
白 白 黑 黑 白 白 黑
![]() |
0110011
白黑黑白白黑黑
0 1 1 0 0 1 1
白 黑 黑 白 白 黑 黑
![]() |
1100110
黑黑白白黑黑白
1 1 0 0 1 1 0
黑 黑 白 白 黑 黑 白
![]() |
2 |
0010011
白白黑白白黑黑
0 0 1 0 0 1 1
白 白 黑 白 白 黑 黑
![]() |
0011011
白白黑黑白黑黑
0 0 1 1 0 1 1
白 白 黑 黑 白 黑 黑
![]() |
1101100
黑黑白黑黑白白
1 1 0 1 1 0 0
黑 黑 白 黑 黑 白 白
![]() |
3 |
0111101
白黑黑黑黑白黑
0 1 1 1 1 0 1
白 黑 黑 黑 黑 白 黑
![]() |
0100001
白黑白白白白黑
0 1 0 0 0 0 1
白 黑 白 白 白 白 黑
![]() |
1000010
黑白白白白黑白
1 0 0 0 0 1 0
黑 白 白 白 白 黑 白
![]() |
4 |
0100011
白黑白白白黑黑
0 1 0 0 0 1 1
白 黑 白 白 白 黑 黑
![]() |
0011101
白白黑黑黑白黑
0 0 1 1 1 0 1
白 白 黑 黑 黑 白 黑
![]() |
1011100
黑白黑黑黑白白
1 0 1 1 1 0 0
黑 白 黑 黑 黑 白 白
![]() |
5 |
0110001
白黑黑白白白黑
0 1 1 0 0 0 1
白 黑 黑 白 白 白 黑
![]() |
0111001
白黑黑黑白白黑
0 1 1 1 0 0 1
白 黑 黑 黑 白 白 黑
![]() |
1001110
黑白白黑黑黑白
1 0 0 1 1 1 0
黑 白 白 黑 黑 黑 白
![]() |
6 |
0101111
白黑白黑黑黑黑
0 1 0 1 1 1 1
白 黑 白 黑 黑 黑 黑
![]() |
0001001
白白白白黑白黑
0 0 0 0 1 0 1
白 白 白 白 黑 白 黑
![]() |
1010000
黑白黑白白白白
1 0 1 0 0 0 0
黑 白 黑 白 白 白 白
![]() |
7 |
0111011
白黑黑黑白黑黑
0 1 1 1 0 1 1
白 黑 黑 黑 白 黑 黑
![]() |
0010001
白白黑白白白黑
0 0 1 0 0 0 1
白 白 黑 白 白 白 黑
![]() |
1000100
黑白白白黑白白
1 0 0 0 1 0 0
黑 白 白 白 黑 白 白
![]() |
8 |
0110111
白黑黑白黑黑黑
0 1 1 0 1 1 1
白 黑 黑 白 黑 黑 黑
![]() |
0001001
白白白黑白白黑
0 0 0 1 0 0 1
白 白 白 黑 白 白 黑
![]() |
1001000
黑白白黑白白白
1 0 0 1 0 0 0
黑 白 白 黑 白 白 白
![]() |
9 |
0001011
白白白黑白黑黑
0 0 0 1 0 1 1
白 白 白 黑 白 黑 黑
![]() |
0010111
白白黑白黑黑黑
0 0 1 0 1 1 1
白 白 黑 白 黑 黑 黑
![]() |
1110100
黑黑黑白黑白白
1 1 1 0 1 0 0
黑 黑 黑 白 黑 白 白
![]() |
A、B、C 子集的選用規則
EAN-13 第1個數字稱為前置碼。
前置不會寫入條碼內,而是由左側的數字選用A、B 子集的方式來決定。
EAN-13條碼以中間分隔符為分界,把條碼分為左側和右側。左側和右側的編碼方式有不同。
舉例,如左側是 AABBAB,那麼其前置碼是2。
左側以 A子集 及 B子集來編碼。而右側則只單獨以C子集來編碼。
具體表列如下:
![]() |
||||||||||||
前置碼 | EAN-13 數據字符子集 | |||||||||||
左側 | 右側 | |||||||||||
0 | A | A | A | A | A | A | C | C | C | C | C | C |
1 | A | A | B | A | B | B | C | C | C | C | C | C |
2 | A | A | B | B | A | B | C | C | C | C | C | C |
3 | A | A | B | B | B | A | C | C | C | C | C | C |
4 | A | B | A | A | B | B | C | C | C | C | C | C |
5 | A | B | B | A | A | B | C | C | C | C | C | C |
6 | A | B | B | B | A | A | C | C | C | C | C | C |
7 | A | B | A | B | A | B | C | C | C | C | C | C |
8 | A | B | A | B | B | A | C | C | C | C | C | C |
9 | A | B | B | A | B | A | C | C | C | C | C | C |
實際例子
以繪劃條碼 4891234567898 來作為實際例子
1.
按照前置碼的號碼,找出其左側的A子集、B子集的排列方式。
當前置碼是 4 時,左側排列就是 A B A A B B,右側是 C C C C C C。
4 | 8 | 9 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 8 |
A | B | A | A | B | B | C | C | C | C | C | C |
2.
按規律繪製黑條白條,加上起始符、中間分隔符和終止符。
各數字以其相應子集的黑條和白條列排。
左、中、右要有起始符、中間分隔符和終止符。
4 | 8 | 9 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 8 | |||
A | B | A | A | B | B | C | C | C | C | C | C | ||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
前置碼 | 起始符 | 左側 | 中間分隔符 | 右側 | 終止符 |
3.
組合起來就是 EAN-13 條碼。
4 | 8 | 9 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 8 | |||
A | B | A | A | B | B | C | C | C | C | C | C | ||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
|||||||||||||||
前置碼 | 起始符 | 左側 | 中間分隔符 | 右側 | 終止符 |
「校驗碼」check digit 位於條碼最右側,佔 1 個碼,用以校驗條碼的正誤,防止讀取了錯誤的資料。
校驗碼是由特定的數學算法來計算,其不能自訂。而且必須存在,不能除去。
校驗碼的數學算法:
以校驗碼的位置為第1位,由右至左順序,最左側為第13位。
位置序號 | 13th | 12th | 11th | 10th | 9th | 8th | 7th | 6th | 5th | 4th | 3rd | 2st | 1st |
校驗碼的計算步驟:
1.
把所有「偶數位的數字」相加,再乘以「3」。
2.
把所有「奇數位的數字」相加。
3.
把步驟 1 與 2 的兩個結果相加。
4.
把步驟 3 的結果的個位數抽出來。
以「10」減這個個位數,其結果就是校驗碼。
如個位數是 0, 校驗碼為 0。
計算校驗碼的實例:
以下號碼作為例子,計算出 C (Check Digit)
489123456789C
位置序號 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
4 | 8 | 9 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | C |
1.
把所有「偶數位的數字」相加,再乘以「3」。
位置序號 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
4 | 8 | 9 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | C |
= (8 + 1 + 3 + 5 + 7 + 9) x 3
= 33 x 3
= 99
2.
把所有「奇數位的數字」相加。
位置序號 | 13th | 12th | 11th | 10th | 9th | 8th | 7th | 6th | 5th | 4th | 3rd | 2st | 1st |
4 | 8 | 9 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | C |
= 4 + 9 + 2 + 4 + 6 + 8
= 33
3.
把步驟 1 與 2 的兩個結果相加。
= 99 + 33
= 132
4.
把步驟 3 的結果的個位數抽出來。
132 的個位數是 2。
以10減這個位數,其結果就是校驗碼。
= 10 - 2
= 8
所以,校驗碼是 8
根據以上計算,489123456789 的校驗碼是 8。
EAN-13 條碼的中華人民共和國國家標準的文件是:GB 12904-2008
因版權問題,請自行到中國人民共和國「國家標準全文公開系統」上在線閱讀。下有連結:
標準號 | 中文標準名稱 | 英文標準名稱 | 內容簡略 |
GB 12904-2008 | 商品條碼 零售商品編碼與條碼表示 | Bar code for commodity - Retail commodity numbering and bar code marking | EAN, UPC 的標準 |
國家標準會不時更新,在寫這文章時,這個2008年的版本已是最新的標準,是現行使用的標準。
EAN/UPC bar code symbology specification