条形码生成器把一串数字或文字直接画成可扫描的条码图片,支持 Code128、EAN-13、EAN-8、Code39、UPC-A 等常见格式。它解决的是「手头没有条码打印机、也不想装软件」的问题:比如你开网店,进了 200 个没有条码的收纳盒,需要自己贴标签做库存管理,只要在 EAN-13 里填 12 位数字(如 690123456789),工具会自动算出第 13 位校验码并生成 PNG,下载后打印即可。所有计算都在浏览器本地完成,输入的编号不会上传到服务器,适合处理内部资产编号、会员卡号这类不想外泄的数据。
| 对比维度 | 本工具 | 手工/替代做法 |
|---|---|---|
| 生成耗时 | 输入后约 0.1 秒内实时渲染 | 用 Excel 插件或条码软件,装环境加配置约 10-30 分钟 |
| 校验位计算 | EAN-13/EAN-8/UPC-A 自动算校验位,输入 12 位补第 13 位 | 手工按 (10-(A+3B) mod 10) mod 10 计算,12 位数字约需 2 分钟且易错 |
| 输出格式 | PNG 与 SVG 两种,SVG 可无损放大到任意尺寸 | 截图工具只能得位图,放大到 300% 以上边缘发虚 |
| 数据隐私 | 纯本地计算,断网可用,输入不上传 | 在线网站多数把条码内容发到后端生成,编号可能被记录 |
| 格式覆盖 | Code128、EAN-13、EAN-8、Code39、UPC-A 等 | 单一软件常只支持 1-2 种,换格式要另装工具 |
把前 12 位数字从左到右编号,奇数位(第 1、3、5…11 位)相加得 A,偶数位(第 2、4…12 位)相加得 B,校验位 = (10 - (A + 3B) mod 10) mod 10。例如 690123456789:A=6+0+2+4+6+8=26,B=9+1+3+5+7+9=34,26+3×34=128,128 mod 10=8,校验位=(10-8) mod 10=2,完整码为 6901234567892。
标准 Code128 只能编码 ASCII 字符(0-127),中文需要先转成 UTF-8 字节再用 Code128 的字节模式(Code Set B/C 切换)表示,但这样生成的条码很多普通扫码枪读出来是乱码。如果必须编码中文,建议改用 QR 码或 Data Matrix。本工具对中文输入会提示不支持,避免生成无法识别的条码。
按 GS1 通用规范,EAN-13 的放大系数范围是 0.8-2.0,对应模块宽度 0.264mm-0.660mm,标准尺寸 37.29mm×25.93mm。低于 0.8 倍(模块宽 0.264mm)时,普通激光扫码枪在 10cm 距离就可能失败。打印时建议模块宽度不低于 0.33mm(1.0 倍),条码高度不低于 22.85mm,否则误读率会明显上升。
先查三点:一是静区,条码左右两侧空白要各留至少 10 倍模块宽,EAN-13 约 2.64mm,被裁掉就扫不出;二是对比度,黑白反差要够,别用深灰底配黑条;三是打印精度,喷墨打印机在 0.264mm 模块下容易糊边,建议至少 300dpi 输出。另外屏幕扫码时把亮度调到 80% 以上,避免反光。
EAN-8 是 8 位数字(7 位数据+1 位校验),用于小包装商品,如口香糖;UPC-A 是 12 位数字(11 位数据+1 位校验),主要在北美使用。两者校验算法相同:奇数位相加 + 3×偶数位相加,取模 10 补足。EAN-13 与 UPC-A 兼容,在 UPC-A 前补 0 即成为合法的 EAN-13 码。
不会。整个编码和绘图过程由浏览器里的 JavaScript 完成,输入的数字、文字、生成的图片都不经过服务器。你可以断网后打开页面测试:只要页面已加载,输入 690123456789 依然能正常生成条码。这也意味着刷新页面后输入内容不会保留,需要重新填写或提前下载图片。
适用范围:Code128 支持 ASCII 0-127,长度 1-48 字符;EAN-13 为 12 位数据+1 位校验,EAN-8 为 7+1,UPC-A 为 11+1,均只接受数字。精度上条码为矢量绘制,SVG 输出无分辨率损失;PNG 默认按 1 像素/模块导出,打印建议模块宽 ≥0.33mm。隐私:全部计算在浏览器本地完成,输入内容与生成图片不上传服务器,断网可用。