ToolAct工具行动

条形码生成器

在线生成多种格式条形码:CODE128、EAN-13、EAN-8、UPC、CODE39、ITF-14

Content
支持ASCII字符(字母、数字、符号),不支持中文、日文等非ASCII字符
设置
#000000
#ffffff
预览

请输入内容后生成条形码

什么是条形码?

条形码是一种用不同宽度的条和空来表示数据的编码方式。它广泛应用于商品标识、物流追踪、库存管理等领域。常见的格式包括CODE128(通用型)、EAN-13(国际商品码)、UPC(北美商品码)等。扫描条形码可以快速获取数据,提高工作效率。注意:条形码只能编码ASCII字符(英文字母、数字和部分符号),不支持中文、日文、韩文等非ASCII字符。如需编码中文等Unicode文本,请使用二维码工具。

使用方法

使用步骤

  1. 输入要编码的内容(数字或字母)
  2. 选择合适的条形码格式(不同格式对输入内容有不同要求)
  3. 调整条宽、高度、颜色等参数
  4. 点击「生成条形码」按钮
  5. 下载为 PNG 或 SVG 格式

条形码检查

  • 不同条形码格式支持不同的字符集和长度;打印标签前请验证内容。
  • 以最终尺寸打印并扫描样品,尤其是更改条宽、高度、颜色或空白区宽度时。

使用场景

为已知码制渲染标签草稿输入 SKU、资产编号、箱号或订单代码,然后选择 CODE128、EAN-13、EAN-8、UPC-A、CODE39 或 ITF-14。页面会在绘制条码之前验证允许的字符、数字长度和校验位,测试数据中的常见拼写错误在码到达扫码器之前就能被捕获。EAN-13 末尾的校验位通过模 10 加权和计算(前 12 位交替乘以 1 和 3),这就是为什么单个数字写错通常会导致扫描失败而不是意外变成另一个有效码。
调整条宽、条高和静区调整条宽、总高度、人眼可读文字、字号、前景/背景颜色和侧边距。四周至少保留十倍 X 尺寸的空白区,因为 CODE39 和 ITF-14 在静区被图案挤压时会无法扫描。
根据印刷路径选择导出 PNG 或 SVG用于文档、幻灯片和内部标签预览时下载 PNG,用于需要按包装尺寸无损缩放的矢量流程时选择 SVG。真正的零售 GTIN 仍需由 GS1 分配,且 ITF-14 的承载条只有在条高至少为 X 尺寸的十六倍时才能正确渲染。
为 POS 或 WMS 集成生成测试数据生成 EAN-13、EAN-8、UPC-A 或 UPC-E 的样本值,在申请 GS1 前缀之前测试内部库存、POS 或电商平台的解析器。内置的校验位逻辑与规范一致,通常能捕获导致解析器出错的占位符拼写错误,包括末尾校验位以及 EAN-13 中 12 位与 13 位的歧义。
打印标签前对比不同码制的密度将同一串字母数字在 CODE128、CODE39 和 ITF-14 中分别渲染,观察条码密度、必需的起止字符和整体标签宽度。对比有助于选择适合热敏打印头宽度、扫码器工作距离和仓库光照条件的码制。CODE128 通过在子集 A(数字和控制字符)、子集 B(可打印字符)和子集 C(成对数字)之间切换来压缩完整 ASCII,因此较长的纯数字 SKU 在 CODE128 中通常比 CODE39 更短。

技术原理

本工具中的每种条码格式都遵循已发布的一维条码规范: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 覆盖,一维码做不到。