条形码校验位计算器与验证工具(UPC/EAN/GTIN)

免费在线工具,可验证并计算 UPC-A、EAN-8、EAN-13、GTIN-14 条形码的校验位。输入完整数字即可验证,或输入不含校验位的数字来自动计算并补全正确的校验位。全部计算均在浏览器本地完成。

广告

什么是条形码校验位验证工具?

这款免费在线工具可以验证或计算 UPC-A、EAN-8、EAN-13、GTIN-14 四种条形码标准共用的校验位——也就是末尾那一位用于核验的数字。它使用 GS1 定义的加权 mod-10 算法,在浏览器中即时确认数字是否有效。

在"验证"模式下,输入包含校验位的完整数字即可查看是否一致;在"计算"模式下,只需输入不含校验位的数字,系统会自动补上正确的校验位。无论是核对新分配的产品编码,还是排查条形码无法扫描的原因,都很实用。

使用方法

  1. 选择模式 根据你的数字是否已包含校验位,在"验证"和"计算"之间切换。
  2. 输入条形码数字 可以直接粘贴带有空格或短横线的数字。
  3. 查看结果 验证模式会显示是否一致以及识别出的格式;计算模式会显示补全后的完整数字。
  4. 尝试其他数字 使用清除按钮重置输入,即可核对下一个数字。

用好本工具的小技巧

  • 可以直接粘贴带有空格或短横线的数字,计算前会自动去除这些符号。
  • 在为新产品编码打印前先用"计算"模式确认一下:输入不含校验位的数字,系统会自动补上正确的校验位。
  • UPC-A(12位)在数字前补一个0后,就与 EAN-13(13位)使用完全相同的算法,因此两种格式可以用同一套加权计算来验证。
  • GTIN-14 是在 EAN-13 前面再加一位表示包装层级的"标识数字",常用于物流中标识箱、托盘等单位。
  • 如果条码扫描枪读取印刷标签失败,可以先在这里核对校验位,帮助判断问题出在印刷缺陷还是数据输入错误。

应用场景

核对新分配的产品编码

基于 GS1 公司前缀创建新的产品编码时,确认校验位是否计算正确。

排查条形码无法扫描的原因

如果印刷的条形码扫描失败,先核对校验位可以帮助区分是印刷缺陷还是数据错误。

作为软件开发中验证逻辑的参考

在库存或收银系统中实现条形码验证逻辑(GS1 的 mod-10 校验位算法)时,可作为参考。

核对进口商品上的条形码

确认进口商品上印刷的 EAN-13 或 GTIN-14 数字是否符合正确的格式。

广告

术语解释

UPC-A
通用产品代码——主要在美国和加拿大使用的12位条形码标准。
EAN-13
国际商品编码——国际通用的13位条形码标准,也涵盖日本的 JAN 码。
EAN-8
用于小型商品的缩短版8位条形码标准。
GTIN-14
全球贸易项目代码——在 EAN-13 前加一位标识数字形成的14位代码,用于标识箱、托盘等单位。
校验位
条形码末尾用于核验的单个数字,通过 GS1 的加权 mod-10 公式计算得出,用来捕捉输入错误。
GS1
负责维护国际条形码和产品标识标准的非营利组织,前身为 UCC/EAN。

常见问题

这通常表示数字中存在打字错误、印刷错误或数据损坏。条码扫描枪通常会拒绝校验位不匹配的数字,这也是为什么结账时有时会出现扫描错误,或库存系统中出现录入被拒的情况。

UPC-A 是主要在美国和加拿大使用的12位条形码。在数字前补一个0,就可以转换到与 EAN-13(国际通用的13位标准,前2-3位代表国家代码)相同的编号体系,大多数 UPC-A 扫描枪也能读取 EAN-13 代码。

日本的 JAN 码在位数和校验位算法上与 EAN-13(13位)或其缩短版 EAN-8 完全一致,因此本工具可以直接用于验证 JAN 码。

本工具只负责验证和计算校验位,并不会颁发官方的 GS1 公司前缀。要获得可以合法分配给实际产品的条形码,需要向所在国家的 GS1 会员机构申请注册。

不会。所有计算都在浏览器本地的 JavaScript 中完成,不会有任何数据发送到外部服务器。
工具君

闲话 ― 一个数字如何抓住打字错误

很多人都见过收银员在扫描枪读取失败后,手动输入商品编码的场景。你可能以为一个数字打错就会变成完全不同的商品,但实际上大多数这类错误都能被自动识别出来。实现这一点的关键,就是每个条形码末尾那个被称为"校验位"的数字。

这套机制可以追溯到20世纪70年代初,当时美国的食品杂货和消费品行业正在开发通用产品代码(UPC)。那时收银员仍然需要手动输入价格,输入错误是账单出错和库存混乱的主要原因之一。GS1(当时称为 UCC)采用的加权 mod-10 计算方法只需要反复的加法运算即可实现,因此在当年有限的算力条件下也能顺畅运行,同时还能捕捉到人们实际最常犯的错误,比如相邻两位数字颠倒,或者单个数字输错。

值得一提的是,同一套计算方法被应用在四种位数完全不同的条形码标准上:UPC-A(12位)、EAN-8(8位)、EAN-13(13位)和 GTIN-14(14位)。因为这条规则——从最右边的数字开始交替以3和1加权,再把总和调整到最接近的10的倍数——无论位数多少都同样适用,所以 GS1 每次推出新标准时都不必重新设计一套验证算法。想到全世界的收银系统都依赖这一个简单公式,这种设计确实透着一份低调的巧妙。

广告