二维码解码器

图片 · 网址 · 摄像头 · 批量解码

解码引擎加载中…

图片解码

可拖拽、粘贴图片,支持一次上传多图批量解码
拖拽、粘贴图片到这里
或 点击选择文件 · 支持 PNG / JPG / GIF / WebP,可多选批量解码
输入二维码的图片网址

最近解码

0

摄像头解码

连续扫码
摄像头未开启

关于这个二维码解码器

本地识别 · 无需上传 · 支持批量

二维码解码器是一个开箱即用的在线工具,用来把二维码图片还原成里面存的文字或网址:把图片拖进页面、粘贴一张图片的网址,或者直接打开摄像头对着码扫,都能立刻拿到结果。识别工作由浏览器内的 OpenCV 微信二维码识别引擎(wechat_qrcode 模块)完成,与在线解码站点用的是同一套算法,本地图片和摄像头画面不会上传到任何服务器。

能解什么

  • 标准 QR 码:微信、支付宝、企业微信、浏览器扫一扫等生成的方形二维码,码内内容可以是网址、文本、名片、Wi-Fi 配置等。
  • 常见图片格式:PNG、JPG、GIF、WebP,截图粘贴也能直接解。
  • 带 logo、轻微倾斜、被压缩过的码:微信二维码检测器对这类图片的容错明显好于通用解码库。
  • 不支持微信圆形的「小程序码」——它不是 QR 码,任何通用二维码工具都解不了。

怎么用(三种输入)

  1. 图片解码:拖拽 / 点击选择 / 截图后 Ctrl+V 粘贴,可一次多选多张,逐张给出结果,支持复制与打开链接。
  2. 图片网址解码:粘贴一张带二维码的图片链接,每行一个即可批量解码;也可以直接用 /?url=图片网址 打开页面,进来就自动解。
  3. 摄像头解码:点「开启摄像头」进入连续扫码,扫描间隔 0.5–3 秒可调,可开扫码提示音,适合逐个清点、批量核销一类场景。

每次成功解码都会自动记进「最近解码」,每页 10 条、最多 10 页共 100 条,可分页跳转、悬停删除单条,或导出 CSV(Excel 直接打开)。

常见问题

解码需要上传图片吗?会不会泄露?

不需要。本地图片和摄像头画面全程留在浏览器里解码,服务器上没有落盘、没有日志,也没有账号体系。只有「图片网址解码」这一种用法会让本站服务器代为取回那张图片(浏览器跨域读不到远端像素),取回后仍然交给浏览器本地引擎解码,不会转发给任何第三方。

怎么一次批量解码多张二维码?

图片:一次选择或拖入多张图即可,结果按图片逐条列出。网址:在输入框里每行写一个图片网址,或用 /?url=图片网址 的带参入口打开页面(url 可以重复出现,也可以在一个参数里用空格、换行分隔多个网址)。

识别不出二维码怎么办?

先确认它是方形 QR 码而不是微信圆形小程序码;再换清晰度更高的原图或把图放大——压缩过度、旋转倾斜严重、中心 logo 遮挡过多都会掉识别率。网址解码失败时页面会区分原因:「该网址不是可识别的图片」说明拿回来的不是图,「图片正常但未识别到二维码」说明图片没问题、是码没识别出来。

图片网址解码有什么限制?

只支持 http / https 的图片地址,单张最大 8MB,最多跟随 3 次重定向且每一跳都会重新校验目标地址;内网和保留网段地址不经服务器代理(这类地址浏览器自己能读到像素,走浏览器直连解码)。

解码记录存在哪里?换设备还在吗?

记录写在当前浏览器的 localStorage 里,上限 100 条(每页 10 条 × 10 页),不上传服务器,因此换浏览器、换设备或清除站点数据后就没了。需要留存请点「导出 Excel」下载 CSV。

能离线用吗?怎么部署到自己的服务器?

图片解码和摄像头解码是纯前端能力,把 index.html 直接用浏览器打开就能用,无需联网;「图片网址解码」需要 PHP 环境。部署时把整个目录放到 Apache / Nginx + PHP 的站点下即可,子目录(例如 /cli-qr/)也能正常工作,页面里的资源引用全部是相对路径。

用手机时能把这个工具加到桌面吗?

可以。Android 浏览器和电脑 Chrome / Edge 会在地址栏提供「安装 / 添加到主屏幕」;iPhone、iPad 的 Safari 请点分享按钮 → 「添加到主屏幕」。加好后是一个独立窗口,图标是本工具定制的绿色二维码图标,名称显示为「二维码解码」。