跳到主要内容
Tooletto

条形码生成器

从文本或数字生成 Code 128 条形码,并下载为 SVG 或 PNG。矢量输出在任何尺寸下都保持清晰,这一点很重要,因为模糊的条形码扫不出来。

  • 文件永不离开你的设备
  • 免费,无需注册
  • 无水印
  • 加载后可离线使用
Loading tool…

如何条形码生成器

  1. 1

    输入你的数据

    任意可打印 ASCII 字符——产品代码、SKU、序列号或参考编号。

  2. 2

    调整尺寸

    模块宽度和高度。更宽的模块扫描起来更可靠。

  3. 3

    下载

    SVG 适合印刷和标签,PNG 适合屏幕显示和文档。

为什么是 Code 128,而不是更常见的零售条形码

大多数人脑海中的条形码——超市商品上的那种——是 EAN-13 或 UPC-A,两者都是固定长度、纯数字的格式,绑定着一套注册系统:这些数字本身由 GS1 集中分配给特定的制造商和产品,这意味着一个生成器无法为任意用途凭空发明一个有效的编号,除非去和这套注册体系协调,否则就会产出一个和别人合法注册的产品相冲突的编号。Code 128 没有这样的注册要求,也没有固定长度——它可以编码任意可打印的 ASCII 文本或数字,从一个简短的内部 SKU 到一长串字母数字混合的参考编码,这正是它成为一个通用条形码生成器正确选择的原因,而不是一个绑定在这个工具毫不相关的注册体系上、专为零售设计的格式。

为什么静区不是可有可无的空白

条形码两侧要求留出的空白边距——称为静区——不是可以裁掉、为标签省出空间的装饰性间距;它是扫描枪的解码算法用来定位实际符号从哪里开始、到哪里结束的依据。一个扫过图像的扫描枪,寻找的是从大片空白区域过渡到条形码条纹图案的这个转变,而裁掉这个边距,或者把文字或其他图形元素放得离条码边缘太近,会去掉扫描枪用来识别"这里开始有一个条形码"所需要的那个信号——这是印刷出来的条形码明明肉眼看起来完全正常、却扫描失败最常见的一个原因,而且和编码的数据是否正确毫无关系。

Code 128 如何比字母更高效地打包数字

Code 128 实际上包含三套内部编码子集,生成器会根据内容自动在它们之间切换:每当出现偶数长度的连续数字时,Code C 会把两个数字打包进一个符号里,空间效率大约是每符号一个字符编码方式的两倍。一旦出现字母、大小写混合的变化,或者奇数长度的数字串,编码就会回退到 Code B,按每个符号精确一个字符编码。这正是为什么一个纯数字条形码——一个完全由数字组成的产品代码或订单号——会比一个字符数相同、但混有字母的条形码明显更窄,尽管两者代表的都是合法、能正常扫描的 Code 128 符号。

常见问题

为什么是 Code 128,而不是其他编码方案?

它能编码完整的可打印 ASCII 字符集,通过校验和自我校验,而且能被普遍识读。EAN-13 和 UPC-A 是固定长度的纯数字格式,绑定着你无法自行发明的注册产品编号,所以它们不适合用作通用的生成器。

我应该下载 SVG 还是 PNG?

任何要印刷的场合都用 SVG。条形码本质上是线条图形,一张栅格图像放大后边缘会变软,扫描枪确实会因此读取失败。PNG 适合按生成时的确切尺寸在屏幕上使用。

为什么我的纯数字条形码比文字条形码更窄?

因为偶数长度的数字串会用 Code C 编码,它能把两个数字打包进一个符号里,宽度大致减半。一旦加入字母,就会回退到 Code B,按每个符号一个字符编码。

什么是静区?为什么它很重要?

静区是条码两侧的空白边距。规范要求至少留出十个模块的宽度,扫描枪要靠它来定位符号从哪里开始。裁掉静区是印刷出来的条形码读取失败最常见的原因之一。

能编码带重音符号或非拉丁字符吗?

不能——Code 128 只覆盖可打印 ASCII 字符,这个工具会明确提示这一点,而不是悄悄丢弃字符。如果需要编码任意 Unicode 内容,二维码才是合适的格式。

条形码生成器常见任务