§

拖入图片或点击选择

拖入图片或点击选择 PNG、JPG、GIF、BMP、WebP — 或从剪贴板粘贴
§

使用摄像头扫描

仅在开启此开关时才会请求摄像头权限。我们不上传或录制任何内容。
§

解码内容

QR 码在国内已渗透到生活的每个角落:微信、支付宝的扫码支付几乎覆盖所有线下场景;火车票、飞机登机牌、健康码均以 QR 码承载核心信息;大量政务服务平台、医院挂号和社区门禁都依赖 QR 码完成身份核验。当您在桌面端需要确认一个 QR 码的实际内容时 — 检查海报上的 URL 是否指向真实网站、从路由器配置页打印的 Wi-Fi QR 码中恢复密码、或读取名片徽章上的 vCard — 这款读取器都能胜任。它支持国内常见 QR 内容格式:URL、Wi-Fi 连接字符串、vCard、MeCard、纯文本、电子邮件、短信、地理坐标。图片字节和解码内容均不离开您的浏览器标签页。

什么是 QR 码读取器?

QR 码是一种由 ISO/IEC 18004 定义的二维矩阵条形码。它将文本、URL、联系人名片、Wi-Fi 凭据及其他短内容编码为黑白方块模块网格,并配备 Reed-Solomon 纠错数据,使符号在局部损坏或添加 Logo 遮挡后仍能解码。QR 码读取器执行逆向操作:获取 QR 符号的图像并还原原始内容字符串。本读取器使用开源 jsQR 库(约 130 KB,MIT 许可证)直接在浏览器中运行解码流水线。您拖入、粘贴或通过摄像头扫描的图片不会离开当前标签页,没有上传步骤。在解码时打开 DevTools,Network 面板保持静默 — 页面不发起任何与您图片内容相关的 XHR、fetch 或分析信标请求。

QR 解码如何工作?

解码完全在您的设备上运行。每张图片在返回内容文本前经过一个固定流水线:

  1. 图片文件(PNG、JPG、WebP 或摄像头帧)被绘制到离屏 HTML <canvas> 上。Canvas API 以 RGBA 字节数组的形式返回原始像素数据。
  2. jsQR 库将像素数组转换为灰度位图,并扫描 QR 符号角落中三个独特的定位图案方块。
  3. 定位图案确定后,解码器计算透视变换并提取完整模块网格,将每个单元读取为二进制 0 或 1。
  4. 根据 QR 规范解析模块网格:先读取格式和版本信息,然后对数据模块去交错并应用 Reed-Solomon 纠错。
  5. 根据段模式(数字、字母数字、字节或汉字)对纠错后的数据码字解码,得到原始内容字符串。
  6. 本工具随后使用一组正则表达式嗅探内容以识别类型(URL、Wi-Fi 凭据、vCard 等),并显示结果及对应操作按钮。

为什么使用基于浏览器的 QR 读取器?

  • 图片字节不会离开您的设备。粘贴一个包含 Wi-Fi 密码、内部测试 URL 或带个人手机号 vCard 的 QR 码,这些内容都留在您的电脑上。其他 QR 读取器在远程服务器上解码并要求您先上传图片 — 本工具不会。
  • 页面加载后,解码可以离线工作。jsQR 库存在于您的标签页中。您可以断开 Wi-Fi,将 QR 图片拖入页面,仍然能获取内容 — 在飞机上、地下室及企业网络屏蔽第三方扫描器的场所均可使用。
  • 如果您的台式机或笔记本有摄像头,可以直接对着印刷的 QR 码读取,无需安装应用或拿出手机。摄像头流留在浏览器中,解码成功后立即停止。
  • 读取器能识别 URL、Wi-Fi 连接字符串、vCard、MeCard、mailto、SMS 和地理坐标内容,并显示对应的操作按钮。打开 URL、复制 Wi-Fi 密码、保存联系人名片 — 无论 QR 实际包含什么。

QR 码读取器的常见用途

任何时候您需要在不拿起手机的情况下查看 QR 码实际内容:

  • 调试刚刚生成的 QR 码。粘贴您的应用生成的 QR(或截取旁边 QR 码生成器的截图),在发送到打印、包装或海报之前确认编码的 URL 或内容符合预期。
  • 恢复 Wi-Fi 凭据。扫描路由器配置页、酒店欢迎卡或 Airbnb 房源照片上的 Wi-Fi QR 码,读取器以纯文本形式返回 SSID、安全类型和密码,您可以复制到其他设备。
  • 审计和无障碍访问。解码扫描文件、产品标签、会议徽章或社交媒体帖子截图上的 QR 码,将其内容提取到电子表格、合规日志或辅助软件中 — 当目标 URL 本身是审计的核心依据时尤为实用。

解码一个真实 QR 码是什么样的?

以一家咖啡馆橱窗上的 Wi-Fi QR 码为例。符号背后,原始内容遵循 WIFI: URI 方案WIFI:S:CafeGuest;T:WPA;P:espresso2026;H:false;;。拍下符号,将图片拖入上方上传区,流水线启动:canvas 读取像素,jsQR 定位三个角落的定位图案,透视变换矫正网格,Reed-Solomon 修复眩光或压缩损坏,字节模式段产生 URI 字符串。读取器嗅探到 WIFI: 前缀并将类型标记为Wi-Fi,将网络名称解析为 CafeGuest,安全类型为 WPA,密码为 espresso2026复制按钮将密码放入剪贴板,可直接粘贴到系统网络选择器。对于包含 https://tools.ultim8soft.com 的纯 URL QR 码,同样的流水线返回 URL 类型标签和一个在新标签页导航到目标的打开按钮。无论哪种情况,网络上发生的唯一事情都是页面本身的加载 — 解码在本地完成。

这款 QR 码读取器只做一件事:在您的浏览器中向您展示 QR 码的准确编码内容,无服务器参与。拖入图片、从剪贴板粘贴或让摄像头持续运行,解码内容及其类型在一秒内显示在屏幕上。图片字节不会被上传,摄像头帧不会被录制,解码内容不会经过任何第三方日志返回给您。当您需要往返确认编码内容与他人将看到的内容一致时,可搭配旁边的 QR 码生成器使用。

图片会上传到服务器吗?

不会。图片被绘制到内存中的 HTML canvas 并完全由在您标签页中运行的客户端 JavaScript 解码。您图片的任何像素都不会被发送到服务器、记录或存储。您可以自行验证:打开 DevTools,在拖入图片时观察 Network 面板,没有任何 XHR、fetch 或分析信标与文件内容相关联。

摄像头扫描如何工作?

启用摄像头模式后,浏览器通过标准 getUserMedia API 请求访问您的设备摄像头。视频帧以最高 640×480 分辨率捕获到离屏 canvas,交给 jsQR 解码。每帧在下一帧到达时立即丢弃,摄像头流在首次成功解码后停止。不会录制任何帧,不会传输任何帧,权限提示仅在您切换开关时触发 — 而非在页面加载时。

为什么某些 QR 内容会自动检测为 Wi-Fi 或 vCard?

Wi-Fi 凭据的 QR 内容遵循格式 WIFI:S:ssid;T:type;P:password;;,vCard 以 BEGIN:VCARD 开头。本读取器识别这些模式以及其他标准前缀(mailto:geo:smsto:MECARD:https://),并自动标记内容类型,使操作按钮与您实际需要对内容执行的操作匹配。

为什么我的 QR 码扫描失败?

常见原因:图片太小或分辨率太低(~100×100 px 是下限,300×300+ 扫描可靠),符号损坏严重或被 Logo 遮挡且纠错不足,静区(模块周围的空白边框)缺失或被裁剪,深色与浅色模块之间的对比度太低。对于摄像头模式,改善光线条件或将 QR 码移近镜头 — jsQR 需要清晰解析各模块才能锁定定位图案。