首页/编码知识/条码基础/EAN-13 校验位算法
条码基础 · 阅读 4 分钟
条码基础内容已审核

EAN-13 校验位是怎么算出来的

前 12 位按「1、3、1、3…」交替加权求和,取结果对 10 的补数——校验位就这么来的。它不保证商品是真的,但能挡住绝大多数录入与印刷错误。

导读摘要:本文逐步演示 EAN-13 校验位的 mod10 计算过程,说明为什么加权顺序是「1、3」而不是「3、1」,以及校验通过到底意味着什么、不意味着什么。文末可用在线工具复算任意号码。
01

第一步:前 12 位交替加权

EAN-13 共 13 位,最后一位是校验位,前 12 位是数据位。计算时从第 1 位开始,奇数位(第 1、3、5…位)乘 1,偶数位(第 2、4、6…位)乘 3,然后把 12 个乘积相加。注意:从左边第一位开始数,不是从右边。

02

第二步:求补数得到校验位

把上一步的和对 10 取余,再用 10 减去这个余数,结果再对 10 取余——得到的个位数就是校验位。公式写成 (10 − 和 mod 10) mod 10,末尾再取一次 mod 是为了处理余数为 0 时得到 10 的情况。

03

为什么加权是 1 和 3

权重 1/3 交替的设计让相邻位的权重不同,这样「两个相邻数字写反」这类最常见的人为错误(如 12 看成 21)几乎必然改变加权和,从而被校验位抓住。这是校验位设计的核心目的:不是加密,而是错误检测。

04

校验通过意味着什么

只意味着一件事:这串数字的构成是合法的,即它确实可能是一个按规则生成的 GTIN。它不说明这个号码已经被分配给了某个企业,不说明商品是真品,也不说明号码在 GS1 数据库里存在。要确认归属,需要查成员组织的注册信息;要判断真伪,需要品牌方的防伪手段。这是很多文章会混淆的地方。

要点速览

可直接摘录的关键结论。

要点 01

算法核心三句

从左起奇数位×1、偶数位×3,求和,取 (10 − 和 mod 10) mod 10。

要点 02

加权设计防的是转置错误

相邻位权重不同,让「数字写反」这类高频错误无处可躲。

要点 03

校验通过 ≠ 号码有效

格式合法只说明可能合法,不说明已分配、不说明商品为真。

要点 04

手填校验位是高风险动作

错了扫不出,还进印刷流程会造成整批包装报废。

数据对照

位序数字权重乘积
1616
29327
3010
4133
5212
6339
7414
85315
9616
107321
11818
129327
合计——128
补数 (10 − 128 mod 10) mod 10——2

图示

EAN-13 校验位演示

EAN-13 校验位演示真实编码渲染
6901234567892

示例 690123456789 为演示用前 12 位,校验位由算法推导;结果号码不属于任何企业。

术语解释

本文涉及的专有名词。

mod10

模 10 运算,取除以 10 的余数。GS1 系列校验位均基于 mod10。

加权和

各位数字乘以各自权重后的总和,是校验计算的中间量。

转置错误

相邻两位数字顺序写反,是人工录入最高发的错误类型之一。

相关问答

我算出来是 10,怎么办?+
这种情况不会出现在正确结果里——公式末尾的 mod 10 会把 10 归零。若手动算得 10,检查是否漏了最后一步取余。
UPC-A 的算法一样吗?+
结构相同,但加权顺序相反:UPC-A 从左起奇数位乘 3、偶数位乘 1。这也是同一条码用不同算法会得出不同结果的原因。
校验位可以自己随便填吗?+
不可以。校验位是数据位的函数,改了任何一位数据位校验位都要重算。号码编排完成后应先用工具批量校验再交付印刷。
这个问题一定要找代理办吗?+
不强制。你可以直接向对应成员组织申请;代理的价值在于选号段、编排号码、核对材料与后续变更续展的连续性管理,是否委托取决于你的时间成本。
内容里的数字可以直接用吗?+
文中出现的条码均为按 GS1 规则生成的演示号码,结构合法但不属于任何企业,切勿直接用于真实商品;正式编码需按注册取得的代码段自行编排。
多久能拿到结果?+
各成员组织受理周期不同,本站不提供未经确认的天数承诺。提交需求后由编码顾问按当期受理进度同步节点。

权威来源与说明

本文内容依据以下公开标准与机构规范整理,可自行复核。

来源 01

GS1 通用规范(General Specifications)

GS1 是管理全球商品编码体系的国际组织,其通用规范规定了 GTIN、GLN、SSCC 等编码结构、校验位算法与符号印刷要求。

来源 02

开源解码器生态(ZXing / zxing-cpp / zbar)

本站所有条码示例均经开源解码器回读验证,可自行复核,避免出现「看起来像但扫不出来」的图示。

内容声明:本文为编码知识的通用说明,不含任何具体金额、天数承诺或法规条款号;涉及具体市场与平台的当期要求,请以对应机构与平台的官方文档为准。文中出现的条码均为按 GS1 规则生成的演示号码,不属于任何企业,请勿用于真实商品。

相关文章

看完还有具体问题?

知识页解决通用问题,具体到你的商品、市场与渠道时,直接问编码顾问更快。

—