Generate Code128, EAN-13, UPC-A, Code39 and other barcode symbologies entirely in the browser, with preview and download for packaging, inventory and internal labelling.
| 码制 | 字符集 | 长度 | 校验位 | 模块数(n = 数据符号数) | 典型场景 |
|---|---|---|---|---|---|
| Code 128 | ASCII 0~127 | 可变;纯数字偶数长度自动用 Code C 压缩 | 必填,模 103 | 11×(n+2) + 13 | 物流面单、资产管理、内部货号 |
| EAN-13 | 数字 0~9 | 固定 13 位 | 第 13 位,模 10 | 95(固定) | 零售商品(需 GS1 厂商识别码) |
| UPC-A | 数字 0~9 | 固定 12 位 | 第 12 位,模 10 | 95(固定) | 北美零售商品 |
| Code 39 | 0-9 A-Z 空格 - . | 可变 | 无,靠结构自校验 | 12×(n+2) + (n+1) | 工业件、资产标签、票券 |
EAN-13 与 UPC-A 用的是同一个加权模 10 算法,区别仅在于奇偶位的权重互换(EAN-13 首位 ×1,UPC-A 首位 ×3)。Code 128 的校验位是强制项、占据一个完整符号位,起始符权重为 1、第一个数据符号权重也为 1,故累加式写作 Vstart + ΣVi×i;纯数字偶数长度时改用 Code C,每两位数字压缩为一个符号,条码更短。Code 39 不带校验位,依靠「每个字符恰好 3 个宽元素」的结构实现自校验。
⚠️ 打印提示:条码两侧须留出不小于 10 倍最窄模块宽的静区(EAN-13 建议左侧 11 模块、右侧 7 模块),并保证白底黑条、打印分辨率不低于 300 dpi,否则扫码枪容易误读。本工具生成的取景已按各码制标准预留静区。