二维码扫描识别
在线识别图片、粘贴截图或摄像头里的二维码,一张图多个码全部读出;网址显示真实域名,GBK 与 Shift_JIS 文本不乱码,图片不上传。
- 图片和摄像头画面留在浏览器里;URL 模式会从你输入的地址下载图片
- 免费 · 无需注册
用微信扫描以下二维码即可分享
示例、说明与常见问题 带实际输出的示例、与同类工具的差别,以及常见问题。
微信、支付宝的码扫出来是什么
支付二维码本身只是一段文字。按官方文档的示例值生成二维码再识别:
| 来源 | 码里的内容 | 本工具显示 |
|---|---|---|
微信支付 Native 下单返回的 code_url(微信支付文档) | weixin://wxpay/bizpayurl/up?pr=NwY5Mz9&groupid=00 | 「App 链接」,文本显示,注明只有能处理 weixin: 链接的 App 才能打开 |
支付宝当面付预下单返回的 qr_code(支付宝文档) | https://qr.alipay.com/bavh4wjlxf12tper3a | 「网址」,域名一行显示 qr.alipay.com |
两份文档都写明这类码两小时后失效,微信支付还说明 Native 支付码不支持相册或长按识别。解出来的内容适合核对域名和参数,付款仍要用对应 App 扫码。
识别结果怎么看
- 网址:只有
http/https会变成链接,点击才打开。地址里有@时,@前面只是用户名,工具会指出实际打开的域名;含非拉丁字母的域名按 punycode(xn--)显示并提醒留意形近字母。 - Wi-Fi、联系人、邮件、电话、短信、位置:拆成字段显示(Wi-Fi 格式见 ZXing 说明,名片支持 vCard 与 MECARD),原始文本折叠在下面。
- App 链接:
weixin://、otpauth://等只显示文本;javascript:、data:、file:另加警告。不是文本的字节标为「二进制」,直接展开十六进制。
截图里有多个码、反色码和大照片
一张图里的码全部读出(最多 16 个),按从上到下、从左到右编号,预览图标出位置。黑底白码、旋转的码、没有白边的码都能识别。照片超过 16,777,216 像素(iOS Safari 的画布上限)时先缩小并在状态栏注明。实测 4000×3000 照片里一个 180 像素的小码,桌面版 Chromium 约 1.2 秒读出;33 模块的码缩到 45×45 像素则读不出,60×60 可以。
乱码:GBK、Shift_JIS 与 ECI
二维码存的是字节,规范(ISO/IEC 18004)允许用 ECI 声明字符集,但多数生成器不写。有 ECI 时按 ECI 解码并在卡片上注明;没有时,合法 UTF-8 按 UTF-8,否则中文页面先试 GB18030,再按 ZXing 的推测规则在 Shift_JIS 与 ISO-8859-1 之间选,结果标注「推测」,可在「文本编码」菜单里改。
实测:GBK 字节的「会议室 3F-A 预约码 2026」在本页直接读对;同一张图在英文页被推测成 ISO-8859-1,菜单选 GB18030 后恢复。
与同类工具的实测对比
2026-09-30 用同一组测试图在桌面版 Chromium 中测试(黑底白码、灰底灰码三家都能读):
| 测试图 | ZeroTool | 兔子二维码 | ScanQR |
|---|---|---|---|
| 一图 3 个码 | 3 张卡片,按从左到右编号 | 3 个,顺序与图上相反 | 3 个 |
| GBK 文本(无 ECI) | 正确 | 正确 | 提示识别成功,文本为空 |
| Shift_JIS 文本(无 ECI) | 正确 | 按 GBK 解成乱码「搶嫗搒愮…」 | 文本为空 |
| 4000×3000 照片中的小码 | 约 1.2 秒读出 | 读出 | 「No QR code found」 |
兔子二维码识别率高,但只给原始文本:Wi-Fi、名片不拆字段,网址也不单列域名。
限制
- 一次处理一张图。PDF 要先截图;HEIC 只有能显示它的浏览器(Safari)才能读。
- 第一次解码要等约 420 KB 的解码器下载完,之后在本地运行。
- 只识别 QR 系列,条形码(EAN、Code 128 等)读不出。
- URL 模式要求图片所在服务器允许跨域(CORS),否则先把图片存下来再拖进来。
要生成二维码,用二维码生成器;分享 Wi-Fi 用 Wi-Fi 二维码生成器;想把长网址拆开看参数,用 URL 解析器。
FAQ
图片会上传到服务器吗?
不会。文件、粘贴的截图和摄像头画面都在浏览器里用 zxing-wasm 解码,解码器从本站 /vendor 目录加载。唯一会联网的是 URL 模式:浏览器从你填的地址下载那张图片,不带 Cookie 和来源页。
微信收款码扫出来的 weixin:// 链接为什么点不开?
weixin:// 只有微信能处理,浏览器打不开。工具把它按「App 链接」显示为文本,不生成可点击的链接。微信支付文档写明 Native 支付的 code_url 两小时后失效,并且不支持从相册或长按识别完成支付,要用微信「扫一扫」。
识别结果是乱码怎么办?
多半是码里存的是 GBK、Shift_JIS 或 EUC-KR 字节,又没有写 ECI 声明。在结果下方的「文本编码」菜单里换一个编码即可;「字节」一栏可以看到原始十六进制。中文页面在字节不是 UTF-8 时会先试 GB18030。
一张截图里有好几个二维码能一起识别吗?
能。最多读出 16 个,按从左上开始的顺序编号,预览图上的编号和结果卡片一一对应。
摄像头扫码需要什么条件?
浏览器支持标准的摄像头接口(getUserMedia)、页面是 HTTPS,并且你允许使用摄像头。只有按下「用摄像头扫描」才会请求权限,画面在本机解码。拒绝授权时可以改为上传照片。