WiFi 二维码生成器

把网络名称和密码生成为二维码,客人扫一下就能连上。支持 WPA、WEP、开放网络以及隐藏 SSID,全部在浏览器本地生成。

不用再念一遍密码了。 填好网络信息,用任意现代手机相机扫一下即可。二维码在本地绘制,你的密码不会发送到任何地方。

二维码

先输入网络名称即可生成二维码。

这就是二维码里实际包含的字符串,采用 Android 和 iOS 都能识别的 WIFI: 格式。

WiFi 二维码到底是怎么工作的

它就是一段文本,不是什么魔法图片

作为图片,WiFi 二维码并没有任何特殊之处。它编码的是一小段纯文本,格式从 2010 年起被 Android 支持、从 iOS 11 起被苹果支持,长这个样子:WIFI:T:WPA;S:MyNetwork;P:hunter2;;。真正起作用的是三个字段——T 表示加密类型,S 是 SSID,P 是密码——最后一个分号结束整条记录。

正因为是纯文本,你可以在打印之前先读一遍本工具生成的内容,确认 SSID 拼写正确,确认里面没有意料之外的东西。相机应用解析这些字段,提示你加入网络,并把凭据交给操作系统。不需要 App,不需要账号,也不经过任何中间服务。

转义是简陋生成器最容易翻车的地方

WIFI: 格式里有五个字符具有结构意义:反斜杠、分号、逗号、冒号和双引号。密码里只要含有其中任何一个,就必须用反斜杠转义,否则解析器会把它当成字段结束。密码 pa;ss 如果不转义,生成出的二维码会用 pa 去连接,而且这种失败是无声的——手机只会提示密码错误,没人会怀疑到二维码头上。

本生成器会对这五个字符全部转义。如果你的密码比较特殊,值得看一眼「编码内容」字段:正确转义的字符串会在这些字符前面显示反斜杠。这些反斜杠属于编码的一部分,不是你密码的一部分,手机在连接前会把它们去掉。

隐藏网络与纠错等级

H:true; 字段告诉手机这个 SSID 不广播。没有它,手机扫了隐藏网络的二维码后会去找这个 SSID,发现没有被广播,然后放弃。有了它,手机就知道要按名称主动探测。给正常广播的网络加上这个标记无害,只是连接会稍慢一点,所以只在网络确实隐藏时才勾选。

纠错等级决定了二维码被破坏多少还能扫出来。L 级可承受约 7% 的损坏,生成的码最小;H 级可承受约 30%,但要把同样的数据塞进多得多的模块里,在相同打印尺寸下每个模块会小很多。桌面上的卡片用 M 就是合适的默认值。如果是会被磨损的贴纸,或者中间要放 logo 的码,就选 Q 或 H。

二维码由 node-qrcode(MIT 许可证)在本地生成。你的网络名称和密码不会离开浏览器。

常见问题

我的密码会被发送出去吗?
不会。二维码由本地库在浏览器里绘制,编码内容从不离开页面。你断网之后这个工具依然可用。
哪些手机能扫?
iOS 11 及以上的 iPhone,以及基本上 Android 10 之后的所有手机,用系统自带的相机应用即可,不需要额外装扫码 App。
密码里有分号或逗号怎么办?
会自动转义。这些字符在 WIFI: 格式里具有结构意义,工具会在每个字符前插入反斜杠,手机在连接前会把反斜杠去掉。
加密方式该选 WPA 还是 WPA2?
同一个 `WPA` 值就涵盖了 WPA、WPA2 和 WPA3,这个格式里并没有区分它们的独立标识。只有真正老旧的设备才需要选 WEP,无密码的网络选开放网络。
什么时候需要提高纠错等级?
打印出来的码会被刮擦、会弯曲,或者中间要盖一个 logo 时。等级越高能容忍的损坏越多,但同样大小里塞进的模块也更多,所以要相应打印得更大一些。
别人能从图片里还原出密码吗?
能。二维码不是加密。任何能拍到这个码的人都能读出密码。请把打印出来的 WiFi 二维码,当作写在纸上的密码一样对待。