在 Mac 上扫二维码

更新于 · 作者

二维码是画给手机摄像头看的,而摄像头恰恰是你没办法对着自己屏幕的东西。hop 就在码待着的地方把它框起来——浏览器标签页里、pdf 里、幻灯片上、暂停的视频里——再把里面装的东西交给你。

macOS 菜单栏中的 hop 面板:qr code scanner
qr code scanner in hop at a glance
what it isqr code scanner inside hop, a menu bar app for macOS
pricefree — no trial, no pro tier, no account
licenceMIT, source on GitHub
requiresmacOS 14 or later, Apple silicon or Intel
works offlineyes
data sent anywherenone
download hopfree · macOS 14+ · Apple silicon and Intel

屏幕上的码为什么反而难办

码已经在 Mac 上了,而通常的读法要动用第二台设备,结果链接到了错的那一台,还得再发回来。

Mac 自己的摄像头也帮不上忙:它对着的是你,不是屏幕。所以答案根本不是摄像头。这个码得从它本来就由之构成的那些像素里读出来。

在 Mac 上怎么扫二维码

手势就是你截图时用的那个:在码周围大致框一下,里面装着的东西以文字的形式回来,让你在动手之前先读一遍。这个顺序要紧——屏幕上的码是一个没人核对过的地址,而手机摄像头会在你来得及看清之前就把它打开。网址会配一个打开按钮,别的内容则作为文字复制出来。

快捷键、同一个框还能读到什么、这个模块在哪里打开——说明书这一头的内容,你自己语言的版本: 说明里的文字识别

框里不必只装着码:周围的文字会在同一次识别里一起读出来,所以把一张账单整个框下来,链接和单号会一起给你。

同样的框、同样的手势、同样的窗口,也是这个模块对付屏幕上普通文字的办法。 把文字从屏幕上取下来

不在屏幕上的码

码待在一个文件里而不是摆在你眼前时,再去框屏幕就绕远了。把图片拖进窗口,或者用 ⌘V 粘一张进去。

  • 存成 pdf 的票或登机牌
  • 海报、菜单或者包裹面单的照片
  • 同事在聊天里发来的一张截图
  • 上面印着付款码和单号的发票

在 Mac 上读二维码的那些免费办法

流传的有三种,各自能应付一部分情况。装东西之前,最好先弄清楚自己属于哪一种。

先把码截下来,再交给实况文本去读

按 ⌘⇧4,在码上拖一下,然后打开这张图去找那个链接。论坛上大多数回答给的就是这条路,能成的时候它一分钱不花。

能不能成,取决于系统愿不愿意把这张图交给实况文本。对于应用自己画出来的画布,这是抛硬币,而且你得先把文件做出来才知道结果。无论如何,桌面上现在多了一个你并不想要的 png。

拿手机对着屏幕

iPhone 的相机不装任何应用就能读码,前提是对应的设置开着。贴在海报上的码,这一页上没有任何东西比它更快。

可如果码在你自己的显示器上,这就成了一趟往返:解锁、打开、对准、对焦。然后链接在手机上打开了,而你人坐在 Mac 前面。

Apple 自己的说明讲了相机这条路,以及它需要哪一项设置(英文页面)。 扫描二维码 — iPhone 使用手册

把图片传到解码网站

有些网站收一张图,把码里的内容打印出来;人们互相传的那些 macOS 快捷指令,多半也是这么干的——把图片发给一个网页接口,再把答案读回来。

通往公开页面的链接,这样处理没问题。付款码、票据或者一次性登录码就是另一回事了:为了弄清里面是什么,整张图去了别人的服务器。

所以:码印在纸上,或者在一张你直接打开得了的照片里,走免费路径就好,到此为止。简单的情况止于这一刻——码待在一个系统不肯当成图片交出来的地方:一帧暂停的画面,或者一个任意的矩形,里面某处有个码。过了这条线,每一条免费路径都要经过一次截图,而且常常还要经过一个陌生人的网站。

download hopfree · macOS 14+ · Apple silicon and Intel

码已经在你屏幕上时,hop 改变了什么

你手上的情况免费路径用 hop
码在纸上、海报上,或者别人的屏幕上手机一秒就读了用不上——拿手机就行
码在一张照片里,或者一个网页上实况文本就地把它读了两边结果一样
码在一帧暂停的视频里截下来,打开截图,指望它能被认出来就在播放的地方把它框住
码在一个不肯给系统交出图像的应用里截图、保存、打开、读——还留下一个文件框一下就好,不会留下要收拾的东西
码旁边还印着一个单号用一种办法读码,再用手把号打一遍一次识别,两样都给你
付款码,或者一次性登录码解码网站要你把图片传上去就在这台 Mac 上解开,关着 Wi-Fi 也能用

扫出来的码是不可信的输入

二维码用肉眼读不出来,这正是它适合藏一个坏去处的原因。停车计时器上盖住原码的一张贴纸、发票上被换掉的码——你看不出来,一个先动手后说话的扫码器也看不出来。

先读出来,再决定做什么

hop 把读到的内容显示出来,然后就停在那里。「打开链接」按钮只对网址出现:电话号码、Wi-Fi 密码或者一张名片,都只是一段你自己读、自己用的纯文本。不会替你拨号、入网,也不会替你添加联系人。

在地址被打开之前先看见它,这不是小事——它就是读一个码和听一个码的全部差别。

读出来的内容同样会落进剪贴板历史,所以一小时前扫的那个码还在。 剪贴板历史留下些什么

条形码出自同一次识别

识别没有单独的模式要切换。文字、二维码和包装上那种普通条形码是一次读出来的,所以框一张包裹面单,运单号和码会一起给你。

什么都不会离开你的 Mac

码在本地解开,用的是 Apple 自己的 Vision 引擎——和系统用的是同一个。没有图片被上传,没有服务器看见你的屏幕,关着 Wi-Fi 也能用。

对码来说,这件事比对文字更要紧。你最不愿意为了一个免费应用而交给陌生扫码服务的那些东西,恰恰就是你急着扫的那些。

hop 没有账号、没有画像、没有遥测。它唯一发出去的东西,是检查更新时报上自己的版本号。

解码本身用的是 Apple 的条码检测,有文档,任何 Mac 应用都能调用(英文页面)。 VNDetectBarcodesRequest — Apple 开发者文档

frequently asked questions

我的 Mac 能读屏幕上的二维码吗?
靠它自己不行,至少对屏幕上任意一块区域不行。实况文本能读系统认得出是图片的那种图片里的码——照片、网页上的图——所以常见的建议是先把码截下来,再打开截图。hop 省掉截图这一步,直接读你框出来的那个矩形。
不用手机能扫二维码吗?
能,这正是它的用处。码从 Mac 的屏幕上或者一个图片文件里读出来,链接就在你面前这个浏览器里打开。
它能离线用吗?
能。解码在你的 Mac 上完成,用的是 Apple 的 Vision 引擎。什么都不上传,什么都不需要联网——只有你选择打开的那个链接需要。
它会自动打开链接吗?
不会。你先看到读出来的内容,想打开再按「打开链接」。而且只有网址才有那个按钮:Wi-Fi 密码或者一张名片仍是纯文本,因为扫出来的码是不可信的输入。
Mac 上怎么读 Wi-Fi 二维码?
框一下,你会拿到网络名称和密码的文字,再由你自己填进 Wi-Fi 设置。hop 不会替你连网络:Wi-Fi 码是印码的人递过来的一组凭据,仅凭它的一面之词就入网,不是一个应用该悄悄干的事。
除了二维码,它也读条形码吗?
读,和文字在同一次识别里,没有模式要切换。包装上那种普通条形码的读法,和二维码是一样的。
码很小,或者有点糊,怎么办?
把框画大一点再试一次——框可以很粗略,码周围多框一些不花任何代价。余地比看上去大:在 macOS 26.6.2 上,一个装着 43 个字符链接的码,缩到 28 像素见方仍然解得开,到 24 像素才失败。缩略图读不出来的话,把图按原始尺寸打开通常就好了。
它免费吗?
完全免费。没有试用期,没有专业版,没有什么需要解锁。hop 是开源的,识别模块对所有人一视同仁。

other tools in hop

  • keep awakedownloads, renders and calls run to the end. even with the lid closed.
  • speed testdownload, upload and responsiveness — measured through Apple's own servers.
  • app firewallsee which programs go online, and where — block any of them with one click.

关于作者

hop 的作者 Anton Shakirov

开发 hop

开发 hop,也编写本站的每一页。十九个工具收在一个菜单栏图标下,MIT 许可,源码公开。issue 和邮件都由他本人阅读和回复。

download hopfree · macOS 14+ · Apple silicon and Intel