条形码扫描器与解码器
使用摄像头或上传图片读取 UPC、EAN、Code 128、Code 39、ITF 和 Codabar——快速、私密且免费。也可读取二维码。
扫描器与解码器
解码结果
尚无结果。请使用“扫描”或上传图片。
将任何笔记本或手机变成功能强大的条形码读取器。本工具使用两种客户端引擎解码常见的零售和物流条码:在可用时优先使用 Shape Detection API(在许多设备上有硬件加速),不可用时使用改良的 ZXing 解码器作为回退。无需上传——检测和解码完全在浏览器中运行,既快速又私密。
摄像头与图片解码原理
- 取帧: 当您按下“扫描”时,应用会从实时摄像头流中采样一帧(或您上传的图片)。
- 检测: 我们首先尝试使用 Shape Detection API(BarcodeDetector)进行快速的本地检测。如果不受支持或未发现任何结果,则回退到为 Web 编译的 ZXing。
- 解码: 对检测到的区域进行处理以恢复编码的数据(UPC/EAN 数字,Code 128/39 文本等)。
- 结果: 解码后的负载和格式会显示在预览下方。您可以即时复制文本。
- 隐私: 所有处理均在本地进行——图像或视频帧不会离开您的设备。
支持的条码格式
格式 | 类型 | 典型用途 |
---|---|---|
EAN-13 / EAN-8 | 1D | 欧盟及许多地区的零售商品 |
UPC-A / UPC-E | 1D | 北美的零售商品 |
Code 128 | 1D | 物流、运输标签、库存编号 |
Code 39 | 1D | 制造业、资产标签、简单的字母数字编码 |
Interleaved 2 of 5 (ITF) | 1D | 纸箱、托盘、配送 |
Codabar | 1D | 图书馆、血库、旧系统 |
QR Code | 2D | 网址、票证、支付、设备配对 |
摄像头扫描提示
- 照亮条码,而不是镜头: 使用侧面明亮且均匀的光以避免眩光和反光。倾斜光泽标签或移动光源以防止过曝。
- 必要时使用手电筒: 在手机上,暗环境中打开闪光灯。稍微倾斜设备以减少眩光。
- 保持合适距离: 靠近直到条码占据视野的 60–80%。太远会像素过少;太近会导致对焦不良。
- 对焦与曝光: 点按条码以对焦/自动曝光。许多手机可长按以锁定 AE/AF。
- 方向对 1D 条码很重要: 将条码旋转,使条纹横向穿过屏幕。如果检测困难,尝试 90° 或 180°。
- 保持稳定: 靠肘支撑、放在平面上或双手握持。短暂半秒的停顿有助于结果。
- 注意静区(quiet zone): 在条码周围留出一圈薄薄的白边——不要裁剪到条纹边缘。
- 减少倾斜和弯曲: 保持条码平整且与相机平行。对于弯曲标签,后退以减少畸变,然后再更紧地裁剪。
- 优先使用主摄像头: 避免使用超广角镜头读取小条码;使用主摄(1×)或长焦摄像头。
- 避免会改变图像的模式: 关闭人像/美颜/HDR/动态模糊等可能使细条纹变软的模式。
- 清洁镜头: 指纹和灰尘会降低清晰度和对比度。
- 针对二维码: 保持整个方形(含静区)可见并大致平直;避免只截取定位角的一部分。
上传图片以获得最佳效果
- 使用合适的格式: PNG 能保留清晰边缘;高质量(≥ 85)的 JPEG 也可。将 HEIC/HEIF 转为 PNG 或 JPEG 后再上传。
- 分辨率很重要: 小标签:≥ 1000×1000 px。较大条码:≥ 600×600 px。避免数码变焦——靠近并裁剪。
- 保持清晰: 稳住手机,点按对焦并停稳。运动模糊会毁掉细条纹和二维码模块。
- 裁剪并保留静区: 围绕条码裁剪,但保留薄薄的白色边缘;不要裁入条纹/模块内部。
- 修正方向: 如果图片是横向或倒置,请先旋转——EXIF 方向信息并不总被采用。
- 控制光线: 使用明亮且均匀的光;轻微倾斜以将眩光移开光泽标签。
- 提高对比度(如有需要): 转换为灰度并提高对比度。避免强烈滤镜或降噪,这会模糊边缘。
- 拉平并去畸变: 对于弯曲的包装,后退、将相机与条码对正,然后再更紧地裁剪。
- 一次一个条码: 若照片包含多个条码,请裁剪到目标单一条码。
- 保留原始文件: 上传原始文件。消息应用常会压缩并产生伪影。
- 来自屏幕: 优先直接截图。如果拍摄显示器,稍微调低亮度以减少条纹干扰。
- 试试其它设备或镜头: 使用主摄(1×)以获得最佳细节;超广角可能降低可解码性。
解码失败的故障排查
- 确认条码类型: 支持:EAN-13/8、UPC-A/E、Code 128、Code 39、ITF、Codabar 和二维码。不支持:Data Matrix、PDF417。
- 尝试不同方向: 按 90° 步进旋转条码或设备。对于 1D 条码,横向条纹最容易识别。
- 更智能地裁剪: 围绕条码裁剪,同时保留薄薄的白色静区。不要裁进条纹。
- 提高对比度: 改善照明,避免眩光,目标为深色条纹在浅色背景上;对于上传,尝试灰度并提高对比度。
- 注意颜色反转: 如果是浅色条纹在深色背景上,请在更强光下重新拍摄或在上传前反转颜色。
- 提高可用分辨率: 靠近拍摄,使用更高分辨率照片,或换更好的相机。
- 减少倾斜/弯曲: 将标签拉平,使相机与条码对正,或后退再更紧地裁剪。
- 检查印刷质量和静区: 污渍、划痕或缺失的静区都可能导致无法解码。尝试更干净的样本。
- 在相关情况下验证数据规则: 某些格式有约束(例如 ITF 需偶数位;Code 39 有字符限制)。确认条码符合其规则。
- 设备/浏览器差异: 尝试其它设备或浏览器。启用手电筒;点按对焦并保持稳定。
- 图片上传——方向/处理: 上传前旋转侧置照片。避免强烈滤镜或降噪处理。
- 仍然无法识别? 尝试更紧的裁剪、更好的照明和第二台设备。条码可能已损坏或不受支持。
隐私与本地处理
此扫描器完全在您的浏览器中运行:摄像头帧和上传的图像不会离开您的设备。可立即使用——无需注册且无跟踪像素。初次加载后,许多浏览器即使在连接不稳定或离线时也能运行此工具。