WiFi二维码生成器

把路由器广播的网络名称(SSID)、认证方式、密码和是否隐藏网络填进去,拼成一条 WIFI:T:...;S:...;P:...;; 关键字串,再在本机编码成可扫的二维码。页面同步给出载荷字节、版本与模块数,并把分号、冒号、引号这几个必须转义的字符讲清楚。

填路由器广播出来的名字,区分大小写;中文按 UTF-8 算,一个汉字占 3 字节。
选 nopass 时不会写入密码字段,生成的串会短一截。
默认密码里带一个分号,用来演示转义:输出中它会写成 \;。
隐藏网络要写 H:true,否则手机扫码后连不上。
静区固定 4 个模块,所以实际输出边长会比这里填的值略小。
默认示例:SSID 为 LiQuan-5G、认证方式 WPA、密码 wf;2026#net、不隐藏网络,生成的 WIFI 串是 47 个字符 / 47 字节,在 M 级纠错下落在 v4(33 × 33 模块)。任一输入框里按 Enter 即可重新生成。
版本v4
模块数33 × 33
载荷字节(UTF-8)47
单元格 / 实际边长6 px / 246 px
WIFI:T:WPA;S:LiQuan-5G;P:wf\;2026#net;H:false;;

安全提示:二维码本身把 WiFi 密码明文写进了图形,任何能扫到它的人都能看到并连上你的网络。请只在自家或办公室内部张贴,不要把含密码的二维码印在对外物料、门口海报或社交平台上;给访客用请单独开一个访客网络并设置独立密码。

使用方法

  1. 填「网络名称 SSID」,默认 LiQuan-5G。就是手机在 WiFi 列表里看到的那个名字,区分大小写,前后不要多打空格。
  2. 选「认证方式 T」,默认 WPA。现代路由器基本都是 WPA/WPA2/WPA3;老设备才需要选 WEP;完全没有密码的开放网络选 nopass。
  3. 填「密码 P」,默认 wf;2026#net。这个默认值故意带了一个分号,用来演示转义:分号在 WIFI 串里是字段分隔符,必须写成 \;。
  4. 选「网络是否隐藏」,默认「否」。如果路由器关闭了 SSID 广播,改成「是」,生成的串里会出现 H:true。
  5. 设「显示尺寸」,默认 280 像素。工具会反推每个模块占几个像素,并保证四周留出 4 个模块的静区,实际边长通常在 246 像素上下。
  6. 点「生成二维码」,或在任意输入框里按 Enter。结果区会给出 WIFI 串原文、载荷字节、版本、模块数;接着点「下载 SVG」存成矢量文件,或「复制 WIFI 串」贴到别处。

这个 WiFi二维码生成器能解决什么问题

一是把「念一遍密码」换成一个动作。家里或小办公室的 WiFi 密码往往又长又带符号,来客人时口头念容易出错、写在纸上又难看。生成一张二维码贴在路由器旁边,扫一下就能连,这是 WiFi二维码生成器最直接的用途。

二是把「密码里有符号」这件麻烦事处理对。手写 WIFI 串时最容易翻车的地方就是符号:分号是字段分隔符,冒号是键值分隔符,逗号与引号在部分扫描器里有额外含义,反斜杠自己还要先转义。默认示例的密码 wf;2026#net 里带一个分号,页面会把它写成 wf\;2026#net,同时保留 # 不变——因为井号不在需要转义的集合里。

三是让「为什么扫了连不上」可排查。常见原因有三:认证方式填错(路由器是 WPA 却写了 WEP)、隐藏网络没写 H:true、密码里的特殊字符没转义。WiFi二维码生成器把这三件事都做成可核对的值,出错时能逐项比对。

四是给出可印刷的矢量文件。下载的是 SVG,放大到 A4 或桌牌尺寸也不会糊,还能直接内联进网页,不产生额外图片请求。模块边长建议不小于 0.5 毫米,否则普通打印机很难扫出来。

本页不做这些事:不生成普通网址二维码(请用「二维码生成器」);不生成带 Logo 的码(请用「二维码生成器(带Logo)」);也不做反向识图(要把印出来的码读回内容,请用「二维码代码读取上传」)。

WIFI 关键字串的格式与转义规则

整条串长这样:WIFI:T:WPA;S:LiQuan-5G;P:wf\;2026#net;H:false;;。它是 ZXing 系扫描器约定的一种 MECARD 式关键字串:字段之间用分号分隔,每个字段内部再用冒号分成「键」和「值」。四把键分别是 T(认证类型)、S(SSID)、P(密码)、H(是否隐藏)。键名本身不区分大小写,但顺序通常写成 T、S、P、H,便于人读。

末尾为什么是两个分号。规范里每个字段以分号结束,整串收尾时再补一个分号作为「结束」标记,于是 ...H:false; 后面又多一个 ;,看起来就是 H:false;;。少写这个结尾分号,部分扫描器会认为串不完整而拒绝解析。

五个字符必须用反斜杠转义。分别是反斜杠本身 \、分号 ;、逗号 ,、冒号 :、双引号 "。写法是在前面加一个反斜杠:\ 写成 \\、; 写成 \;、: 写成 \:,以此类推。转义实现就是一次正则替换:命中这五个字符的任一,就在它前面插一个反斜杠。顺序上必须「先扫一遍、只插不改」,不能边扫边替换,否则反斜杠会被反复叠加。

不在名单里的字符一概原样保留。井号 #、at 号 @、连字符 -、下划线 _、点号 .、斜杠 /、加号 +、百分号 %、空格,以及中文、字母、数字,都不需要转义。默认示例里的 # 就是这一类的代表:它能原样写进密码字段。常见误操作是「看到特殊符号就加反斜杠」,结果反而把密码改错了。

T 只有三个合法取值。WPA 覆盖 WPA、WPA2、WPA3,是绝大多数路由器的档位;WEP 只留给老设备,其密码长度被限制为 5 或 13 个字符;nopass 表示开放网络,此时 P 字段会被整个省略,否则扫描器可能拿着空密码去连。

H 取值是 true 或 false。它对应路由器有没有关闭 SSID 广播。隐藏网络必须写 H:true,扫码后手机才知道要主动去连一个不广播的名字;写 false 或干脆不写,隐藏网络就搜不到。

长度限制来自 WiFi 协议本身,不是本页设的。SSID 最长 32 字节;WPA 密码 8~63 个字符;WEP 密码 5 或 13 个字符。这里的「字节」按 UTF-8 算:中文 SSID 一个汉字占 3 字节,所以「柳泉5G」是 10 字节。本页会先按字节校验,再决定要不要拦下。

载荷越长,二维码越密。按标准,模块数等于 4 × 版本 + 17。默认示例的 47 字节载荷在 M 级纠错下是版本 4、33 × 33 个模块;换成 L 级降到版本 3(29 × 29),升到 Q 级则是版本 5(37 × 37)。本页固定用 M 级,兼顾容错和尺寸。

二维码由页面本身的组件在本地编码。编码用的是站点自带的 /assets/toolsite/qrcode.js(约 55 KB)——它按 ISO/IEC 18004 计算纠错码字、铺矩阵、挑掩码,全程在浏览器里完成,不把 SSID 与密码发到任何服务器。载荷字符串本身也只有几十个字节,编码耗时可以忽略。

完整示例(数值仅作演示)

页面打开时的默认参数是:SSID 为 LiQuan-5G、认证方式 WPA、密码 wf;2026#net、不隐藏网络、显示尺寸 280 像素。WiFi二维码生成器在默认参数下的复算结果如下:

  • 转义后密码从 wf;2026#net 变成 wf\;2026#net:只有一个分号被加上反斜杠,井号保持不变;
  • 拼出的 WIFI 串是 WIFI:T:WPA;S:LiQuan-5G;P:wf\;2026#net;H:false;;,共 47 个字符;全为 ASCII,UTF-8 编码后仍是 47 字节;
  • M 级纠错下 47 字节落在 版本 4,模块数 = 4 × 4 + 17 = 33 × 33;
  • 显示尺寸 280 像素时,单元格像素 = ⌊280 ÷ (33 + 8)⌋ = 6,静区 = 6 × 4 = 24 像素,实际输出边长 = 33 × 6 + 6 × 4 × 2 = 246 像素;
  • 同样载荷换纠错等级:L 级 版本 3(29 × 29)、Q 级 版本 5(37 × 37)、H 级 版本 6(41 × 41);
  • 把认证方式改成 nopass,密码字段整体消失,载荷变成 WIFI:T:nopass;S:LiQuan-5G;H:false;;,只剩 35 字节,M 级下仍是版本 3(29 × 29)。

再看两个对照:一条 WIFI:T:nopass;S:Guest-WiFi;H:false;; 是 36 字节,M 级下落在版本 3(29 × 29);而中文 SSID 的 WIFI:T:WPA;S:柳泉5G;P:wn2026;H:false;; 按 UTF-8 算是 40 字节,同样是版本 3——中文三个字节一字的账,很快就追上英文串的长度。

WIFI 串语法元素对照表

下表把 WIFI 串里的十二个语法元素拆开:前五行是五个必须转义的字符,中间四行是四把字段键,后三行是 T 的三个合法取值。点「加载更多行」会补上十二个常见普通字符,它们在串里一律原样保留、不需要转义。

元素类型是否需转义正确写法说明
\转义符是\\反斜杠自身要先转义,否则会吃掉后一个字符
;分隔符是\;字段分隔符,密码或 SSID 里出现必须转义
,标点是\,部分扫描器按多值解析,需转义
:标点是\:键值分隔符,值里出现要转义
"引号是\"带引号的取值需要转义引号
T字段键否T:WPA认证类型,取值见下方三行
S字段键否S:名称网络名称,最长 32 字节
P字段键否P:密码密码,nopass 时整个字段省略
H字段键否H:true是否隐藏网络,取 true 或 false
WPAT 的取值否T:WPA覆盖 WPA2 与 WPA3,现代路由默认
WEPT 的取值否T:WEP老设备兼容,密码 5 或 13 字符
nopassT 的取值否T:nopass开放网络,不写 P 字段

两条规律值得记住:需要转义的是「语法字符」,不是「特殊字符」——# 看着特殊却不用转义,分号看着普通却是分隔符;字段键与取值都不用转义,因为它们是固定常量,本来就不该出现在用户的 SSID 或密码里。

输入范围、边界与安全提示

  • SSID 1~32 字节。空值会被拦下;按 UTF-8 算超过 32 字节(比如 11 个汉字就是 33 字节)也会被拦下,并告诉你当前是多少字节。
  • WPA 密码 8~63 个字符,WEP 密码 5 或 13 个字符,nopass 不需要密码。这三条是 WiFi 协议本身的规定:WPA 密码短于 8 位大多数路由器根本不接受,WEP 只认两种固定长度。
  • 显示尺寸 160~800 像素的整数、步长 20。它不是最终边长:工具先算 ⌊尺寸 ÷ (模块数 + 8)⌋(加 8 是因为左右各留 4 个模块静区),再取最小 2 像素,最后输出边长 = 模块数 × 单元格 + 静区 × 2。填 280 得到 246 属于正常现象。
  • 纠错等级固定为 M。本页不提供等级选择,因为 WiFi 串很短、二维码本身不大,M 级(标称可恢复约 15% 码字)已足够;要挑等级或嵌 Logo,请用通用二维码页面。
  • 转义只作用于用户填的 SSID 与密码。四个字段键与末尾双分号由程序拼接,不参与转义。这样用户就算把整串当成普通文本粘贴,也不会破坏语法结构。
  • 二维码会把密码明文暴露出去。码里没有任何加密,扫到即读到。请勿把含密码的二维码印在对外物料、门口海报或社交平台上;访客场景建议单独开一个访客网络,给它设独立密码,用完随时关闭。
  • 旧版安卓对 WPA3 支持不一。如果路由器开了 WPA3 而访客手机较老,扫码可能连不上。稳妥做法是把认证方式临时切到 WPA2,或单独留一个 WPA2 访客 SSID。
  • 生成与编码全程在本地完成。页面只从站点加载一个约 55 KB 的编码组件,不发送 SSID 与密码,也不写浏览器存储。可以打开开发者工具的 Network 面板,边改输入边观察有没有请求发出。

常见问题

为什么密码里的分号变成了反斜杠加分号?

因为在 WIFI 串的语法里,分号是字段之间的分隔符。如果密码里直接写分号,扫描器会把它当成一个字段的结束,后面的内容就被截断或错位。规范的做法是在前面加一个反斜杠做转义,写成 \;,告诉解析器「这个分号是密码的一部分」。默认示例的密码 wf;2026#net 正是为了演示这一点。

哪些字符需要转义,哪些不需要?

只有五个字符需要:反斜杠、分号、逗号、冒号、双引号。井号、at 号、连字符、下划线、点号、斜杠、加号、百分号、空格,以及中文、字母、数字,都原样保留。判断标准是「它会不会和语法冲突」,而不是「它看起来特不特殊」——这是自己手写 WIFI 串时最容易搞反的一条。

末尾为什么要写两个分号?

每个字段以分号收尾,例如 H:false;;整串结束时再补一个分号作为结束标记,所以看起来是 H:false;;。少写这一个分号,部分扫描器会判串不完整而拒绝解析。本页由程序统一拼接,不需要你手动敲。

隐藏网络的二维码和普通的有区别吗?

区别只在 H 这个字段。普通网络写 H:false,隐藏网络必须写 H:true。原因是隐藏网络不广播自己的名字,手机必须被明确告知「这是一个不广播的 SSID」才会主动发起连接;漏了这个标记,扫码后只会提示找不到网络。

默认示例为什么是 47 个字节?

WIFI:T:WPA;S:LiQuan-5G;P:wf\;2026#net;H:false;; 全部是 ASCII 字符,所以字符数与字节数相等,都是 47。转义只增加了一个反斜杠,把密码从 11 个字符变成 12 个字符。如果换成中文 SSID,一个汉字要按 3 个字节计,字节数会明显超过字符数。

扫码后提示连不上,应该先查什么?

按顺序查三项:一是认证方式,路由器是 WPA 却生成成 WEP 或 nopass 会直接连不上;二是隐藏网络有没有写成 H:true;三是密码里的五个语法字符有没有正确转义。这三项都能在本页的输入框与结果串里逐字比对,比反复重扫快得多。

这样生成的二维码安全吗?

功能性上没问题,安全性上要提醒一句:二维码把 WiFi 密码明文编码进去了,任何能扫到这张码的人都能读到密码并连上网络。所以它适合贴在自家或办公室内部,不适合印在对外物料或发到社交平台。给访客用建议单独开访客网络,或者干脆用手机热点。

为什么下载的是 SVG 而不是 PNG?

SVG 记录的是每个模块的坐标而不是像素,放大到海报尺寸也不糊,文件通常只有几 KB,还能直接内联进 HTML 省掉一次图片请求。需要位图时,把 SVG 导入设计软件后按目标尺寸导出即可,比先导 PNG 再放大清晰得多。

相关工具