二维码生成常见坑:WiFi 码、名片码怎么做才能扫得开
二维码生成时最容易踩的坑有哪些?本文详解 WiFi 二维码、名片(vCard)二维码的正确格式和纠错级别选择,教你生成扫一次就成功的二维码。
打印出来的二维码贴到墙上或印到名片上之后才发现扫不开,是最让人抓狂的事情之一——尤其是已经印了一沓、一批海报贴出去之后。这类问题九成来自几个反复出现的坑:数据格式不对、纠错级别选错、颜色对比度不够。本文讲清楚这些常见坑,并手把手教你做出真正能一扫即用的 WiFi 二维码 和 名片(vCard)二维码。
为什么有些二维码就是扫不开
二维码不是一张"文字图片",而是一段结构化数据,手机扫码时靠特定前缀(WIFI:、BEGIN:VCARD、mailto:、tel: 等)识别该做什么动作。如果你在普通生成器里直接打自由文本,而不是按手机摄像头期望的精确格式来,二维码就只会被当成一段纯文本扫出来,不会触发"加入WiFi"或"添加联系人"的弹窗。这是"扫是扫开了、但什么都没发生"的头号原因。
其他常见原因:
| 坑 | 表现 | 解决办法 |
|---|---|---|
数据格式不对(不是标准 WIFI: / VCARD 语法) |
扫出来是纯文本,不触发任何动作 | 用能自动拼出正确内容的模板 |
| 纠错级别太低 + 加了 logo 或有破损 | 印小了或有污损就识别不出 | 用 Q 或 H 纠错级别 |
| 前景背景对比度不够(浅灰配白等) | 摄像头找不到定位图案 | 保持深色配浅色,避免浅色前景 |
| 打印尺寸太小 | 摄像头分辨不出模块细节 | 至少 2×2 厘米起印,纠错级别越高需要越大 |
| WiFi 密码里含特殊字符未转义 | 部分设备解析密码中的 ;、\、"、, 会失败 |
尽量不用这些字符,或用 \ 转义 |
| 二维码周围没留白边(静区) | 扫描器找不到码的边界 | 保留白边,不要裁得太紧 |
做一个真正能连上网的 WiFi 二维码
现在的手机(iOS 11+、大多数 Android)用相机扫二维码时,会识别一种特定的文本格式:
WIFI:T:WPA;S:我的网络名;P:我的密码;H:false;;
拆解一下:
T:加密方式,WPA(覆盖 WPA/WPA2/WPA3)、WEP,开放网络填nopassS:WiFi 名称(SSID)P:密码(开放网络留空)H:是否为隐藏网络(true/false)
如果手打这段字符串,很容易把字段顺序打错,或漏掉结尾的两个分号;SSID 或密码里如果本身带分号,不转义的话也会解析失败。所以更稳妥的做法是用表单式生成器帮你拼好这段字符串,而不是自己手打。
具体步骤
- 打开二维码工具,切到 WiFi 模板。
- 填入 WiFi名称(SSID)、WiFi密码,选择 加密方式(
WPA/WEP/nopass)。 - 如果是隐藏网络,把 隐藏网络 设为
true。 - 如果这个码要打印出来经常被人摸(比如贴墙上的 WiFi 告示牌,会被晒褪色、折皱),把 纠错级别 至少调到
Q。 - 点 下载PNG 或 下载SVG 导出,或用 复制图片 直接粘贴进文档。
打印前先测试。用两三部不同手机(最好 iOS 和 Android 都试)扫一下——不同相机 App 对 WiFi 格式的解析严格程度略有差异。
做一个电子名片二维码(vCard)
vCard 二维码编码的是一张联系人卡片——扫开之后手机会提示直接保存到通讯录,而不是打开一个链接。它的格式是标准的 vCard 文本块:
BEGIN:VCARD
VERSION:3.0
FN:张三
ORG:某某公司
TEL:+8613812345678
EMAIL:zhangsan@example.com
URL:https://example.com
ADR:;;某某路123号;;;;
NOTE:销售负责人
END:VCARD
和 WiFi 码一样的问题:BEGIN:VCARD/END:VCARD 这层包裹只要打错一个字符,或者字段名后面漏了冒号,扫码器就会把它当成普通文本读出来。
具体步骤
- 打开二维码工具,切到 名片 模板。
- 填入姓名、公司、电话、邮箱、网址、地址和备注(选填)——只有你填了的字段才会写入,空着的不用去猜"空字段该怎么写"。
- 如果这个码要挨着 logo 放,或者要印得很小放在实体名片上,把 纠错级别 调到
Q或H——纠错级别越高,即使部分码被遮挡或损坏也还能扫得开。 - 需要打印就导出 PNG,需要放大印在大幅海报上就导出 SVG 保证不失真。
如果你要设计的是整张实体名片版面(不只是二维码本身),pudone! 的名片设计工具可以排版正反面、加自己的 logo、导出可印刷的高清 PNG/PDF——把 vCard 二维码作为名片上的一个元素放进去即可。
纠错级别怎么选
二维码有四档纠错级别,本质是在"码的密度"和"抗损坏能力"之间做取舍:
| 级别 | 可恢复损坏比例 | 适合场景 |
|---|---|---|
| L | ~7% | 纯数字场景(屏幕展示、邮件),追求更远的扫描距离 |
| M | ~15% | 通用默认值 |
| Q | ~25% | 印刷标牌、名片,任何会被经常触摸的场景 |
| H | ~30% | 中间加了 logo,或容易磨损划伤的场景 |
纠错级别越高,二维码的模块就越密(图案更细),意味着实际打印时需要更大一点才能保证能扫开——这是个真实的取舍,不是"越高越好"就该无脑选 H。
常见问题
为什么我的二维码能扫开,但打开的东西不对?
大概率是内容格式拼错了。一个本该弹出"加入WiFi"提示、结果却打开浏览器的二维码,通常是因为内容里缺了 WIFI: 前缀或某个字段格式不对,手机就把它当成纯文本或链接来处理了。
二维码中间能加 logo 吗?
可以,前提是用较高的纠错级别(Q 或 H)——logo 会遮住码的一部分数据,纠错位负责把被遮住的部分补算回来。但遮挡面积不能太大(一般不超过约 25%~30%),否则不管纠错级别多高都扫不开。
WiFi 二维码会不会泄露密码?
会。WiFi 二维码的数据里密码是明文存储的,理论上任何扫到这个码的人都能反解出密码,而不只是"连上网"这么简单。把打印出来的 WiFi 二维码,当成把密码写在便签纸上贴出去一样对待就行——家里或咖啡店用没问题,敏感网络不要公开张贴。
下载下来的二维码图片放大之后为什么会模糊?
因为下载的是 PNG。PNG 是固定分辨率的位图格式,放大超过原始尺寸自然会糊。改下载 SVG 版本——它是矢量图,放大到多大(比如做一张大型活动展板)都不会失真。
二维码的颜色有讲究吗?
有。扫描器需要前景色(深色)和背景色(浅色)之间足够的对比度,才能锁定二维码的定位图案。尽量保持"深色配浅色"的组合,避免橙配黄这类相近色,更不要让前景色比背景色还浅。
同一个二维码在有的手机上能扫、有的不能,为什么?
几乎都是对比度/打印尺寸问题,或者内容格式在严格解析的扫码器上被拒。可以换用表单式生成器重新生成(排除手打格式出错的可能)、把纠错级别调高,并按实际打印尺寸再测一遍。
小结
大多数"扫不开"的二维码其实并没有真的坏,而是用错了文本格式、纠错级别配不上实际使用场景、或者颜色/尺寸让摄像头分辨不出来。用能自动拼出正确 WIFI:/VCARD 内容的模板,给要打印的码选 Q/H 级纠错,打印前用几部真机测一下,基本能拦住绝大多数扫码失败的情况。