一维条码的本质是「把字符翻译成一组粗细不同的竖条」。不同码制的翻译表不一样:CODE128 用 106 个符号覆盖全部 ASCII,密度高、长度可变,是物流与仓库的默认选择;EAN-13 / UPC-A 是零售商品码,长度固定,最后一位是校验位——它由前几位算出来,扫码枪读到后会用同样的公式验算,算不对就拒读,这样能挡掉大部分误扫。
校验位是这一页最容易踩的坑:EAN-13 一共 13 位,但第 13 位不是商品编号的一部分,而是算出来的。所以只需要填 12 位,页面会自动补上第 13 位并在结果里标出补了什么。同理 EAN-8 填 7 位、UPC-A 填 11 位、ITF-14 填 13 位。
另一个常被忽略的是静区:条码左右两侧必须留出空白,宽度至少是最窄条的 10 倍,否则扫码枪分不清"条码从哪开始"。页面默认留 10px,印在包装上时记得跟着放大。条宽同样重要——屏幕上 1px 看着清楚,但打印到 300 DPI 只有 0.08mm,扫描枪读不到,实际印刷建议 2~4px。
整页没有后端:JsBarcode 在浏览器里直接画到 canvas 或生成矢量 SVG,批量几十个也是瞬间完成,编号不会离开你的电脑。
| 想做什么 | 推荐码制 | 说明 |
|---|---|---|
| 商品包装 | EAN-13 | 需要 GS1 前缀才有全球唯一性 |
| 仓库货位 / 资产标签 | CODE128 | 字母数字混排、长度随意 |
| 外箱运输标签 | ITF-14 | 印刷要求低,瓦楞纸上也能读 |
| 图书 / 期刊 | EAN-13 | 978 / 977 开头分别是书与刊 |
| 药品包装 | Pharmacode | 只用条的位置表示数字,容错好 |
| 血库 / 物流单据 | Codabar | 老系统兼容性较好 |
第 13 位是校验位,由前 12 位算出来。填 12 位页面自动补;如果你手上是完整的 13 位,直接粘贴也行,页面会核对你给的校验位对不对,不对会提示。
按可能性排序:① 条太细——把条宽调到 3~4px 再导 SVG;② 没留静区——左右留白至少 2mm;③ 对比度不够——用纯黑条纯白底,别用深蓝或灰色;④ 打印分辨率低——用 SVG 而不是 PNG 去打印。
不能。一维条码的标准字符集里没有汉字,要放中文请用二维码。CODE128 支持的是全部 ASCII(字母、数字、常见符号)。
码制本身是公开标准,没有授权费。但如果要印在商品包装上进零售渠道,编号必须来自 GS1 分配的企业前缀,否则会和别人的商品撞号——这一点和生成工具无关。
每个编号独立生成,失败的那张会标红并写出原因(位数不对、含有该码制不支持的字符等)。其余正常的照常可以下载。
这个工具完全在你的浏览器里运行:你输入的内容、上传的文件,都不会离开你的电脑,也不会传到任何服务器。
放心用,数据只在你自己的电脑上转一圈。
用手机相机扫描二维码,即可继续使用该工具
遇到问题或有好建议?告诉我们。