企评社

二维码识别

把二维码图片拖进来(或直接粘贴截图),读出里面的网址、WiFi、名片或文字,并在原图上标出二维码位置

二维码在你的浏览器里识别,图片不上传服务器

把二维码图片拖到这里,或点击选择

支持 PNG / JPG / WebP,可多选(一次识别多张);也可以直接按 Ctrl+V 粘贴截图

图片只在本机解码,不会上传:二维码里可能写着你的 WiFi 密码或公司内部链接,本地识别才不会把它们发到别人的服务器上。

待识别的图片

二维码图片是怎么被「读」出来的?

二维码里存的其实是一串字节:黑白小方块叫「模块」,每一块代表 0 或 1。图片四周那圈更大的三个方形是定位图案,解码程序先找到它们,就能算出这张图有没有被旋转、拉斜,然后把网格对齐回标准的行列。接着读出版本号、纠错等级和掩码信息,按规则把掩码还原,最后按编码模式(数字 / 字母数字 / 字节 / 汉字)把比特流翻译回原始内容。所以你看到的「扫码结果」并不是图片里画着字,而是解出来的一段数据——它可能是网址,也可能是 WiFi 配置、联系人名片,甚至是一段二进制。

为什么有的二维码图片识别不了:最常见的是模糊——拍照手抖或对焦在别处,模块边缘糊成一片,定位图案还在但每个格子的明暗已经分不清了;其次是反光与遮挡,屏幕翻拍时一片高光会直接吃掉几十个模块,贴纸、水印压在二维码上同理;第三是太小,二维码在原图里可能只占 60×60 像素,而一个模块只分到 1~2 个像素,这时候把它裁出来放大反而更容易读(放大虽不增加信息,但能让采样落回模块中心);第四是静默区被裁掉了,二维码四周需要留白(通常 4 个模块宽),很多人在截图或抠图时贴着边缘裁,定位图案与背景的边界消失,解码器就找不到二维码了。另外还有一种常被误会的情况:那是一维条形码而不是二维码——条形码只有一排粗细不同的竖线,本工具只识别二维码。

截图识别是最高频的用法:在电脑上遇到「二维码图片」时,绝大多数场景就是你刚截的图——微信/QQ 截图、系统截图工具、网页上的二维码另存。这类图片往往清晰、没有透视变形,识别率极高。本页支持直接按 Ctrl+V 粘贴:截图后不用先存盘、不用再选文件,直接粘贴即可读出内容。如果二维码本身太小,可以先用图片裁剪把二维码区域裁出来(记得四周留一点白边),再粘贴或上传,成功率会明显上升;手机拍的大图也可以先压缩到合适体积再识别。

为什么识别必须在本地做:二维码承载的内容往往比一张普通图片敏感得多——家庭或办公室的 WIFI: 二维码里直接写着 SSID 和密码,很多人的做法是把它打印出来贴在墙上或存进相册;企业内部二维码可能指向内网地址、带签名参数的临时链接、含手机号的加好友链接。如果把这些图片上传到「在线解码」服务器,等于把 WiFi 密码和内部链接原样交出去,而且很多站点会留存上传文件与识别记录。本页的解码完全在你的浏览器里完成(用的是本地加载的 jsQR 解码库),整页不会发出任何文件上传请求——你可以打开开发者工具的 Network 面板,把图片拖进来,看是否出现新的上传请求。

常见问题

提示「没识别到二维码」怎么办?

按这个顺序排查,通常第二步就解决了:① 确认图里确实是二维码(不是条形码),且二维码没有小到只剩几十像素;② 用图片裁剪把二维码裁出来,四周留一点白边(静默区,通常 4 个模块宽),别贴着边缘裁;③ 换一张更清晰的图——翻拍屏幕的高光、镜头畸变、手抖都会让模块边缘糊掉;④ 如果二维码是贴在曲面杯子、名片折角上拍的,正对着重拍一张。本页会先用最长边 1600px 采样识别一次,失败会自动用原图尺寸再试一次,两次都不行才报"没识别到"。

识别出来的网址可以直接点吗?

结果是可点击的,但请先看一眼域名再决定:链接由二维码提供,打开前请确认来源。二维码本身可以被任意生成,有人会把假登录页、钓鱼站、伪装成"WiFi 认证"的页面做成二维码贴在公共场所。本工具只负责把内容如实读出来,不判断安全性,也不会自动跳转。

WiFi 二维码能读出密码吗?

能。手机生成的分享二维码格式是 WIFI:T:WPA;S:网络名;P:密码;;,本页会把它拆成网络名称、加密方式、密码分别显示。注意这里的密码就是明文——这也是我们坚持本地解码的原因:如果你只是想知道"这个贴纸连的是哪个 WiFi",没必要把密码上传给任何服务器。

为什么结果里说「已按最长边 1600px 采样识别」?

手机拍出来的照片动辄 4000×3000 像素(约 1200 万像素),直接逐像素扫描会占用大量内存、速度也慢,而对识别精度几乎没有帮助——真正决定成败的是二维码区域在采样后还剩多少个像素。所以本页先把最长边缩到 1600px 再识别;如果这一轮没读到内容,会再用原图尺寸重试一次,两次都失败才判定"没识别到",并在结果里如实标注实际参与识别的尺寸。

支持 HEIC 和条形码吗?

不支持 HEIC——那是 iPhone 默认的照片格式,浏览器本身无法解码,页面会明确提示你「请先转成 JPG」(手机可在「设置 → 相机 → 格式」里选「兼容性最佳」,或把照片导出为 JPG)。条形码(一维码)也不支持:它的编码方式与二维码完全不同,本工具只识别二维码。如果图里同时有二维码和条形码,二维码会被正常读出来。

相关工具