识别二维码的过程是生成的逆运算:先找到三个角的定位图案确定位置和角度,做透视校正把倾斜的码"扶正",再按模块网格逐格读取黑白值。
读出的比特流要先去掉掩码(用格式信息里记录的掩码编号反推),再按 Reed-Solomon 算法校验和纠错——这正是它能容忍污损的原因。
本工具优先调用浏览器原生的 BarcodeDetector 接口(Chrome 和 Edge 支持),完全本地运行,速度最快且不需要联网。
如果你的浏览器不支持该接口,会自动从公共 CDN 加载 jsQR 作为备用方案。这一步需要联网,但图片本身仍然只在本地处理。
下面这些情况用它最顺手:
陌生人发的二维码,先解析出网址确认安全再打开
识别朋友分享的 WiFi 二维码,读出明文密码
把名片二维码还原成联系人文本
老海报上的二维码,先读出链接再判断
| 输入格式 | PNG / JPG / WebP |
|---|---|
| 识别方式 | 浏览器原生 BarcodeDetector(首选)/ jsQR(备用) |
| 支持内容 | 网址 / 文本 / WiFi / 名片 / 邮件等全部类型 |
| 可识别数量 | 单图中多个二维码(原生接口支持) |
| 隐私 | 图片不上传服务器 |
最常见是图片太模糊或二维码占比太小。请上传清晰的原图,避免二次压缩。倾斜角度过大、有反光或遮挡也会影响识别。
不会。使用原生接口时完全离线;只有浏览器不支持时才会联网加载备用识别库,但图片始终在本地处理,不会上传。
使用原生 BarcodeDetector 时可以,会把图中所有二维码的内容一并返回。备用方案 jsQR 一次返回一个。
当前版本只针对二维码(QR Code)。一维条形码的支持会在后续版本加入。
可以。这两个浏览器不支持原生接口,会自动切换到备用识别库 jsQR,功能一样,只是首次需要联网加载库文件。