展会临时改地址
展位手册已印好,开展前一晚主办方把活动从 A 馆挪到 B 馆。重印来不及,把新的定位链接做成二维码贴在原指示牌上,观众扫码直接跳导航。本工具能把定位、WiFi、名片信息编进码,纠错等级拉到 H 级,贴歪或被划一道仍可扫出,且不经第三方留记录。
支持 PNG · JPG · WebP · GIF · 可一次多选批量识别
截图后直接 ⌘V / Ctrl V 粘贴 · 一张图含多个码也能全识别
扫描全程在本机进行,画面与结果均不上传。识别成功会蜂鸣并震动提示。
收到一张二维码图片,但微信扫不出来——可能是模糊、畸变或带水印。把图片拖进这个工具,它用浏览器本地的解码库直接解析,不经过任何服务器。支持 PNG、JPEG、WebP 格式,也能调用摄像头实时识别。解码结果即时显示,隐私数据始终留在本地设备上。
展位手册已印好,开展前一晚主办方把活动从 A 馆挪到 B 馆。重印来不及,把新的定位链接做成二维码贴在原指示牌上,观众扫码直接跳导航。本工具能把定位、WiFi、名片信息编进码,纠错等级拉到 H 级,贴歪或被划一道仍可扫出,且不经第三方留记录。
| 输入 | 输出 | 说明 |
|---|---|---|
| 上传一个包含清晰二维码的 JPG 图片,二维码内容为:https://example.com | https://example.com | 常规:最常见的二维码类型——URL,验证基本识别能力 |
| 上传一个包含二维码的 PNG 图片,二维码内容为:Hello World | Hello World | 常规:纯文本二维码,验证非 URL 内容的正确解析 |
| 上传一个二维码图片,二维码内容为:WIFI:T:WPA;S:MyWiFi;P:password123;; | WIFI:T:WPA;S:MyWiFi;P:password123;; | 常规:Wi-Fi 配置二维码,验证特殊格式(含分号冒号)的完整输出 |
| 上传一个非常模糊的二维码图片(像素低、噪点多),内容为:123456 | 123456 | 边界:低质量图片,测试容错能力(二维码有纠错机制) |
| 上传一个二维码图片,内容为:a(单个字符) | a | 边界:最短内容,验证工具对极小数据量的处理 |
| 上传一个二维码图片,内容为:这是一个非常长的测试文本,包含中英文混合、标点符号和空格,长度超过 1000 个字符……(后续省略) | 这是一个非常长的测试文本,包含中英文混合、标点符号和空格,长度超过 1000 个字符……(后续完整输出) | 边界:超长内容,验证工具对大数据量的处理能力(二维码容量上限约 4296 个字母数字或 7089 个数字) |
| 上传一个二维码图片,内容为:12345678901234567890(20 位数字) | 12345678901234567890 | 易错:纯数字二维码,注意工具是否错误添加了空格或换行 |
| 上传一个二维码图片,内容为:中文测试 | 中文测试 | 易错:中文字符编码(UTF-8 或 GBK),验证工具对非 ASCII 字符的兼容性 |
1.上传的二维码图片分辨率太低
用 50×50 像素的模糊截图直接上传确保二维码区域至少 200×200 像素,且黑白对比清晰二维码解析依赖模块定位图案,低分辨率会导致定位失败或误读。ISO/IEC 18004 标准要求模块尺寸至少 0.5mm,对应图片中至少 4×4 像素/模块。
2.摄像头识别时手抖或距离过近
手机贴到二维码上 5cm 处拍摄,画面模糊保持 10-30cm 距离,使二维码占画面 1/3 到 1/2,并停顿 1-2 秒过近导致失焦,过远导致模块太小。摄像头自动对焦需要时间,移动中识别率骤降。
3.二维码被反光/阴影遮挡
在强光下拍摄屏幕上的二维码,出现大面积反光白斑调整角度避免直射光,或使用纸质二维码平铺在哑光桌面二维码的三个定位图案(回字形)依赖明暗对比,反光会破坏模块边缘检测,导致解码失败。
4.上传了非二维码的图片(如条形码、文字截图)
上传一张商品条形码图片,期望解析出链接确认图片中是标准 QR 码(正方形、三个角有回形图案)后再上传本工具仅支持 QR 码(ISO/IEC 18004),不处理 EAN-13、Code 128 等条形码格式。条形码缺少定位图案和纠错码。
5.二维码本身已过期或被删除
反复上传一张 2018 年的活动海报二维码,提示解析成功但无内容先确认二维码来源是否仍在有效期内,或扫描后检查是否返回空字符串本工具只解码二维码存储的原始数据(如 URL、文本),不验证链接是否可访问。数据为空或无效是内容源的问题。
6.二维码被折叠/扭曲/污损
上传一张被揉皱的快递单上的二维码尽量展平纸张,或用另一设备重新生成清晰二维码QR 码有纠错能力(L/M/Q/H 级别),但严重几何变形(扭曲 > 15°)会破坏模块网格对齐,超出纠错极限。
7.使用截图工具截取屏幕二维码时包含多余元素
截图时把二维码周围的按钮、文字一起截入,且二维码占比 < 30%裁剪只保留二维码区域,或放大使二维码占画面 80% 以上本工具会扫描全图寻找 QR 码,但背景杂乱会增加误检概率,降低识别速度。
8.摄像头权限未开启导致黑屏
点击摄像头按钮后看到黑屏,以为工具坏了在浏览器地址栏左侧点击锁图标 → 网站设置 → 允许摄像头权限本工具调用 getUserMedia API 获取摄像头流,浏览器默认阻止未授权访问。需用户手动授予权限。
QR码解码 = Reed-Solomon纠错 → 数据块重组 → 位流提取 → 模式译码 → 字符输出
纠错码字Reed-Solomon码,每块含数据+纠错数据块按版本和纠错级划分的原始数据区位流二进制序列,含模式指示符和长度模式数字/字母/字节/汉字等编码模式版本2-M QR码含22个数据码字+16个纠错码字,共38码字。Reed-Solomon解码纠正2个错误码字后,重组为18字节数据块。位流前4位为0100(字节模式),后8位长度=8,后续8字节为'HELLO123'的ASCII码。最终输出字符串'HELLO123'。
本工具在浏览器端本地处理,支持常见图片格式如 JPG、PNG、BMP、WEBP 等。单张图片建议不超过 10MB,过大的图片会拖慢解码速度,且浏览器内存可能溢出。如果图片太大,可以先压缩或截图后再上传。摄像头识别则没有文件大小限制,但需要确保二维码清晰、无反光、占画面比例适中。
最常见的原因是二维码模糊、反光、或距离太远/太近。请确保二维码平整、光线充足且无强光直射。摄像头对焦需要时间,保持手机/电脑稳定 1-2 秒。另外,如果二维码是破损的或只截了一部分,也无法识别。本工具使用纯前端解码,不依赖网络,识别速度主要取决于摄像头清晰度和二维码质量。
完全在浏览器本地解码,图片和摄像头画面都不会上传到任何服务器。解码过程由 JavaScript 完成,所有数据处理都在你的设备内存中,关闭页面即清除。适合处理包含敏感信息的二维码,如支付码、个人名片或内部系统链接。
技术上,本工具可以解码任何符合 QR 码标准的二维码,包括付款码。但付款码通常是一串数字或 URL,解码后显示的是该串内容,并非直接跳转到支付页面。此外,微信/支付宝的付款码有时效性和动态加密,解码后看到的数字可能已失效。建议仅用于测试或学习用途,不要用于实际交易场景。
可能有几种情况:一是该二维码不是标准 QR 码,而是微信小程序码、支付宝红包码等私有格式,本工具只解析标准 QR 码(ISO/IEC 18004)。二是二维码被部分遮挡或模糊,手机 app 有更强的纠错算法和图像增强,而浏览器端解码相对脆弱。三是二维码内容包含非 UTF-8 编码的中文,极少数旧版二维码用 GBK 编码,本工具默认 UTF-8 解码,可能显示乱码。
二维码内容可能使用了非标准编码。例如,一些旧系统生成的二维码用 GB2312 或 GBK 编码中文,而本工具默认按 UTF-8 解码,导致显示乱码。可以尝试将解码出的字符串复制到记事本,手动切换编码查看。另外,某些二维码存储的是二进制数据(如 vCard 名片),浏览器会直接显示原始字节,建议用专业的二维码解码库处理这类内容。
目前本工具只支持单张图片上传或单次摄像头扫码,不支持批量处理。如果需要批量解码大量二维码,建议使用桌面端软件或命令行工具(如 zbar)。本工具的定位是快速、轻量、隐私安全,适合偶尔解码一两个二维码的场景。
会,尤其是老旧设备。摄像头解码需要持续调用摄像头并逐帧分析图像,对 CPU 和内存有一定消耗。如果长时间使用(如连续扫码超过 5 分钟),设备可能会发热或掉帧。建议间歇使用,或在识别成功后立即停止摄像头。本工具没有做硬件加速优化,依赖浏览器自身性能。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。