条形码生成器
在线生成多种格式条形码:CODE128、EAN-13、EAN-8、UPC、CODE39、ITF-14
请输入内容后生成条形码
什么是条形码?
条形码是一种用不同宽度的条和空来表示数据的编码方式。它广泛应用于商品标识、物流追踪、库存管理等领域。常见的格式包括CODE128(通用型)、EAN-13(国际商品码)、UPC(北美商品码)等。扫描条形码可以快速获取数据,提高工作效率。注意:条形码只能编码ASCII字符(英文字母、数字和部分符号),不支持中文、日文、韩文等非ASCII字符。如需编码中文等Unicode文本,请使用二维码工具。
使用方法
使用步骤
- 输入要编码的内容(数字或字母)
- 选择合适的条形码格式(不同格式对输入内容有不同要求)
- 调整条宽、高度、颜色等参数
- 点击「生成条形码」按钮
- 下载为 PNG 或 SVG 格式
条形码检查
- 不同条形码格式支持不同的字符集和长度;打印标签前请验证内容。
- 以最终尺寸打印并扫描样品,尤其是更改条宽、高度、颜色或空白区宽度时。
使用场景
技术原理
本工具中的每种条码格式都遵循已发布的一维条码规范:EAN-13 和 UPC-A 由 ISO/IEC 15420 定义,Code 128 由 ISO/IEC 15417 定义,Code 39 由 ISO/IEC 16388 定义。每个字符都以交替的条和空序列呈现,以 X 尺寸(模块宽度)的倍数来衡量,零售 EAN-13 在 100% 放大率下通常为 0.33mm。EAN-13 包含 12 个数据位加 1 个模 10 校验位,使用三种字符集(A/B/C)编码,其中左侧 A/B 的奇偶模式隐式携带第 13 位数字。Code 128 在子集 A、B 和 C 之间选择,并使用子集 C 将成对数字打包到单个 11 模块符号中,这就是为什么较长的纯数字 SKU 通常比 Code 39 编码更短。 EAN/UPC 的校验位计算公式为 (10 - (奇数位之和 × 3 + 偶数位之和) mod 10) mod 10,权重从右到左交替为 3 和 1。Code 128 使用不同的方案:对起始字符和数据值进行加权模 103 求和。绘图通过 HTMLCanvasElement 上的 fillRect 实现 PNG 导出,通过拼接 SVG <rect> 元素实现矢量路径输出;两种方式都遵循配置的条宽、高度、前景/背景色和静区边距。标准要求 EAN/UPC 的前导和尾随静区至少为 10 倍 X 尺寸(Code 39 同样为 10 倍),如果没有足够的静区,即使绘制完美符号也会被扫描器拒绝解码。 与 QR 等二维码不同,一维码不包含 Reed-Solomon 纠错,因此单条损坏可能导致整行失步;这也是字符集受到限制的原因(Code 39 限 43 个字符,EAN/UPC 仅限数字)而非支持完整 UTF-8。真正的零售 GTIN 仍需通过 GS1 前缀分配;本工具仅负责绘制条形和计算校验位,不分配公司前缀,也不保证在全球 GS1 注册系统中的唯一性。
- EAN-13 校验位:权重 1,3,1,3... 从右到左应用,目标和为 10 的倍数。
- Code 128 使用子集 A/B/C 和模 103 加权校验字符;子集 C 可将数字宽度减半。
- 静区必须至少为 10 倍 X 尺寸(EAN 在 100% 放大率下约 3.3mm)。
- Canvas 渲染使用 fillRect(x, 0, barWidth, height);SVG 输出为每个暗模块生成一个 <rect>。
- 一维码没有 Reed-Solomon 纠错 —— 单条损坏即可导致扫描失败,而 QR 有 7-30% 的恢复能力。
- ITF-14 需要承载条和至少 16 倍 X 尺寸的最小条高才能可靠扫描。
- Code 39 允许 43 个字符(0-9、A-Z、空格、-.$/+%)以及强制的 * 起止字符。
示例
EAN-13 零售商品码
格式: EAN-13
输入: 4006381333931 (12 位数字,页面会自动补上校验位)
结果: 一个 13 位的零售条码。前 3 位 (400-440) 是 GS1 前缀;
接下来的 4-5 位是厂商代码;之后是商品代码;末位是根据前 12 位
用 mod-10 算出的校验位。
校验位算法: 3+0+6+8+1+3+3+9+3 = 36(偶数位)
4+0+0+3+8+1+3+3+3+9+1 = 34(奇数位)
-> 3 * 36 + 34 = 142 -> (10 - 142 % 10) % 10 = 8
所以完整的 13 位码是 40063813339318。CODE128 库存标签
格式: CODE128
输入: SKU-7842-AB
结果: 一种宽度可变的条码,可以通过在子集 A(数字和控制字符)、
子集 B(可打印 ASCII)、子集 C(成对数字,宽度减半)之间切换
来表达整个 ASCII 集合。本例是字母数字混合的字符串,编码器会
选择子集 B 来编码字母和符号。CODE128 几乎是企业内部 SKU 和
资产标签的事实标准。ITF-14 外箱标签
格式: ITF-14
输入: 10012345678901 (14 位数字)
结果: 用于运输外箱的物流条码。ITF-14 要求加上承载条(包围
整个码图的实心边框),并且条高至少为 16 个 X 单位,这样才能
在仓库扫描中保证可靠识别。Interleaved 2 of 5 编码方式将数字
两两配对,单个数字所占宽度只有 Code 39 的一半。常见问题
可以生成哪些条码格式?
支持常见的一维码:CODE 128(通用、字母数字混合)、CODE 39、EAN-13/EAN-8(零售)、UPC-A/UPC-E(美国零售)、ITF-14(外箱码)。部分页面还支持 CODE 93 和 Codabar。如需生成二维码(QR、Data Matrix),请使用专门的二维码生成工具。
各种格式对长度和字符有什么要求?
EAN-13 需要正好 12 位数字(第 13 位由系统计算);EAN-8 需要 7 位;UPC-A 需要 11 位。CODE 128 接受变长 ASCII(0-127),是通用场景下最灵活的选择。CODE 39 支持数字、大写字母和部分符号(-.$/+%)。生成前页面会先校验输入。
校验位是怎么算的?
EAN/UPC 使用 Mod-10,权重交替为 ×1/×3;ITF-14 使用 Mod-10;CODE 128 使用 Mod-103 加权和校验字符,它属于符号本身的一部分而不是单独的数字。生成器会自动计算所有校验位。
条码是在本地生成的吗?
是的。本页面通过 JsBarcode 之类的库在浏览器中将条码渲染为 SVG 或 canvas,没有任何数据上传。可以本地保存为 PNG 或 SVG。
打印时该用多大的尺寸和分辨率?
零售用一维码有一个"X 尺寸"(最窄条的宽度),按 100% 比例打印时建议不小于 0.264 mm,才能保证扫码可靠。打印分辨率建议 300 DPI 以上;分辨率较低的热敏打印机需要更大的条码。批量生产前务必用实际扫码枪扫描打印样张做测试。
为什么打印出来的条码扫不出?
常见原因:条码太小、油墨对比度差、表面光滑反光、装订或卷曲导致变形、格式与扫描仪配置不匹配。建议加大 X 尺寸、改用哑光纸打印,并确保条码周围的"静区"(白边)至少为 X 尺寸的 10 倍。
可以给一维码加 logo 或彩色吗?
一维码必须保证高对比度——白底黑条几乎是唯一普遍可靠的选择。在条上叠加 logo 或使用低对比度颜色,多半会扫不出。一维码请坚持标准外观。二维码因为有内置纠错,可以容忍一定程度的 logo 覆盖,一维码做不到。