无需上传、100% 本地处理、无需账户

QR 码扫描器

从图片文件扫描 QR 码或使用你的设备摄像头。解码完全在你的浏览器中完成,不会向服务器发送任何内容。

QR 码扫描器 的工作原理

二维码扫描器从你选择的图像文件或直接从设备相机解码二维码,无需安装应用程序,无需创建账户。将截图、照片或任何图像文件拖到工具上,或授予相机权限并对准实体二维码,解码内容在一秒内显示。图像被绘制到浏览器内的 Canvas 上,jsQR 库读取像素数据以提取代码。

解码内容按原样显示,不自动跳转任何 URL。这让你在决定是否采取行动之前先检查二维码,在扫描来自未知来源的代码时这一点很重要。二维码可以包含纯文本、URL、Wi-Fi 凭据、联系人名片、日历事件等更多内容。没有任何内容离开你的设备:每个相机帧或图像文件在本地处理,解码后丢弃。

QR 码扫描器 的分步使用说明

  1. 将包含二维码的图像文件拖到工具上,或点击浏览文件。
  2. 或者,点击「用相机扫描」并在提示时授予相机权限。
  3. 将相机对准二维码并保持稳定;工具实时解码。
  4. 在结果区域阅读解码内容,决定是否打开 URL 或复制文本。
  5. 拖入新图像或保持相机活动来扫描第二个二维码。

常见使用场景

  • 用户收到来自未知发件人邮件中的二维码,使用扫描器在点击之前检查 URL。
  • 活动参与者用笔记本电脑相机扫描海报上的二维码,在公共网络上访问网站之前确认 URL。
  • 开发者在生成新二维码后立即扫描它,以验证编码内容是否正确。
  • 有人发现旧打印的二维码,想知道它编码了什么 URL 或文本,不想用手机扫描。

常见问题

我拖入扫描器的图像会上传到服务器吗?

不会。图像被绘制到浏览器标签页内的 Canvas 元素上,jsQR 库直接在你的设备上读取像素数据。没有任何内容传输到 Sunasty 或任何第三方。你可以通过在扫描时打开浏览器 DevTools 网络标签页来确认这一点:没有请求携带你的图像数据。

实时扫描时,我的实时相机流会发送到任何地方吗?

不会。相机馈送由在你设备上用 JavaScript 运行的 jsQR 库逐帧处理。每一帧被绘制到页面内的 Canvas 上并在本地解码。流不会发送到服务器,因此用相机扫描 Wi-Fi 密码或私人二维码是安全的。

扫描器可以解码哪些数据格式?

jsQR 库解码任何标准二维码,可以包含纯文本、URL、Wi-Fi 凭据(WPA 格式的 SSID 和密码)、vCard 联系人名片、电子邮件地址、电话号码、短信、iCal 格式的日历事件和原始二进制数据。解码文本按原样显示。

在公共场所看到的二维码,或是陌生人发来的二维码,扫描起来安全吗?

二维码会把真实目的地隐藏起来,这一点链接地址的状态栏预览做不到,也正因如此,骗子会借此实施一种有时被称为「quishing」(二维码钓鱼)的攻击:比如贴在真实停车缴费机或菜单二维码上的假贴纸,又或是未经请求的消息里夹带的二维码图片。本工具从不会自动跳转 URL,而是先把二维码解码成纯文本原样显示给你,只有在内容看起来像链接时才提供一个单独的按钮供你打开,这样你可以先看清真实地址,再决定是否信任它。

基于文件扫描接受哪些图像格式?

你的浏览器可以在 Canvas 上渲染的任何格式:JPEG、PNG、WebP、GIF(仅第一帧)、BMP,以及支持它的浏览器中的 AVIF。如果二维码在图像中清晰且模块足够大可以读取,jsQR 库将解码它。

扫描器无法读取我图像中的二维码。应该检查什么?

确保二维码光线充足、对焦清晰,没有严重变形或扭曲。整个代码(包括三个角落的定位图案)必须可见。大图像中非常小的二维码可能会丢失细节。尝试裁剪图像只显示二维码,或在实时扫描时提高相机分辨率。