条形码本质是”把数字/文字编码成可被光学识别的条纹图案”。不同格式的差异在于:能编什么、编多少、在什么场景扫。选错格式,扫描枪不认;打印分辨率不够,再好的格式也扫不出来。
主流格式速览
EAN-13:零售商品的国际标准
13 位纯数字,结构固定:
[国家/地区前缀 3位] [厂商识别代码 4-7位] [商品项目代码] [校验位 1位]
690 12345 678 9
- 中国大陆前缀:690~699
- 最后一位是校验位,由前 12 位计算得出
- 扫描仪认的是条纹,数字只是人类可读备份
- 只能用于零售商品,需 GS1 授权的厂商码
Code128:最灵活的一维码
可编 ASCII 全字符集(数字、大小写字母、标点),无长度上限(实际建议 ≤ 48 字符,过长条形码太宽)。
内部分三个子集自动切换:
- Code128A:数字 + 大写字母 + 控制字符
- Code128B:数字 + 大小写字母 + 标点(最常用)
- Code128C:纯数字,两位一组编码,密度最高
快递单号、仓库货位码、门票、资产标签——凡不是零售商品的场景基本选 Code128。
Code39:老旧但兼容性极好
只能编 43 个字符(大写字母 + 数字 + 少量符号),自带起止符 *,不需要校验位。
老设备、工业扫描枪、政府证件(部分)——遇到”只支持 Code39”的系统时用。
QR Code(二维码)
严格说不是”条形码”(一维码),但常被混称。最多可编约 3000 个数字 / 2000 个字母 / 1800 个中文字,内置纠错(4 级,最高级 L 级约 30% 损毁仍可读)。详见二维码生成工具。
EAN-13 校验位计算
手算校验位,方便验证一个码是否合法:
前 12 位:6 9 0 1 2 3 4 5 6 7 8 9
位置: 1 2 3 4 5 6 7 8 9 10 11 12
权重: 1 3 1 3 1 3 1 3 1 3 1 3
加权求和:
6×1 + 9×3 + 0×1 + 1×3 + 2×1 + 3×3 + 4×1 + 5×3 + 6×1 + 7×3 + 8×1 + 9×3
= 6 + 27 + 0 + 3 + 2 + 9 + 4 + 15 + 6 + 21 + 8 + 27 = 128
128 mod 10 = 8
校验位 = 10 - 8 = 2
完整 EAN-13:6901234567892
打印质量是扫描成功的关键
条形码扫不出来,95% 是打印问题,不是格式问题。
分辨率要求:
| 用途 | 最低 DPI | 建议 DPI |
|---|---|---|
| 普通文件打印 | 203 DPI | 300 DPI |
| 零售商品标签 | 300 DPI | 600 DPI |
| 快递单 | 203 DPI | 300 DPI |
| 远距离扫描(仓库) | 600 DPI | 600+ DPI |
静区(Quiet Zone):条形码两端必须留空白,EAN-13 左侧至少 3mm,右侧至少 2mm。工具生成的 PNG 已包含静区,打印时不要裁边。
颜色要求:
- 条:深色(黑色最佳,深蓝/深绿可用)
- 底:白色或浅色(不能是彩色渐变)
- 对比度 ≥ 70%
格式选择速查
| 场景 | 推荐格式 |
|---|---|
| 超市零售商品 | EAN-13(需 GS1 厂商码) |
| 快递单号、物流追踪 | Code128 |
| 仓库货位、资产管理 | Code128 |
| 门票、入场券 | Code128 或 QR |
| 营销落地页 URL | QR Code |
| 支付收款 | QR Code |
| 老设备/政府证件 | Code39 |