二维码生成常见坑:WiFi 码、名片码怎么做才能扫得开

二维码生成时最容易踩的坑有哪些?本文详解 WiFi 二维码、名片(vCard)二维码的正确格式和纠错级别选择,教你生成扫一次就成功的二维码。

5 分钟阅读

打印出来的二维码贴到墙上或印到名片上之后才发现扫不开,是最让人抓狂的事情之一——尤其是已经印了一沓、一批海报贴出去之后。这类问题九成来自几个反复出现的坑:数据格式不对、纠错级别选错、颜色对比度不够。本文讲清楚这些常见坑,并手把手教你做出真正能一扫即用的 WiFi 二维码名片(vCard)二维码

为什么有些二维码就是扫不开

二维码不是一张"文字图片",而是一段结构化数据,手机扫码时靠特定前缀(WIFI:BEGIN:VCARDmailto:tel: 等)识别该做什么动作。如果你在普通生成器里直接打自由文本,而不是按手机摄像头期望的精确格式来,二维码就只会被当成一段纯文本扫出来,不会触发"加入WiFi"或"添加联系人"的弹窗。这是"扫是扫开了、但什么都没发生"的头号原因。

其他常见原因:

表现 解决办法
数据格式不对(不是标准 WIFI: / VCARD 语法) 扫出来是纯文本,不触发任何动作 用能自动拼出正确内容的模板
纠错级别太低 + 加了 logo 或有破损 印小了或有污损就识别不出 QH 纠错级别
前景背景对比度不够(浅灰配白等) 摄像头找不到定位图案 保持深色配浅色,避免浅色前景
打印尺寸太小 摄像头分辨不出模块细节 至少 2×2 厘米起印,纠错级别越高需要越大
WiFi 密码里含特殊字符未转义 部分设备解析密码中的 ;\", 会失败 尽量不用这些字符,或用 \ 转义
二维码周围没留白边(静区) 扫描器找不到码的边界 保留白边,不要裁得太紧

做一个真正能连上网的 WiFi 二维码

现在的手机(iOS 11+、大多数 Android)用相机扫二维码时,会识别一种特定的文本格式:

WIFI:T:WPA;S:我的网络名;P:我的密码;H:false;;

拆解一下:

  • T:加密方式,WPA(覆盖 WPA/WPA2/WPA3)、WEP,开放网络填 nopass
  • S:WiFi 名称(SSID)
  • P:密码(开放网络留空)
  • H:是否为隐藏网络(true/false

如果手打这段字符串,很容易把字段顺序打错,或漏掉结尾的两个分号;SSID 或密码里如果本身带分号,不转义的话也会解析失败。所以更稳妥的做法是用表单式生成器帮你拼好这段字符串,而不是自己手打。

具体步骤

  1. 打开二维码工具,切到 WiFi 模板。
  2. 填入 WiFi名称(SSID)、WiFi密码,选择 加密方式WPA/WEP/nopass)。
  3. 如果是隐藏网络,把 隐藏网络 设为 true
  4. 如果这个码要打印出来经常被人摸(比如贴墙上的 WiFi 告示牌,会被晒褪色、折皱),把 纠错级别 至少调到 Q
  5. 下载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 这层包裹只要打错一个字符,或者字段名后面漏了冒号,扫码器就会把它当成普通文本读出来。

具体步骤

  1. 打开二维码工具,切到 名片 模板。
  2. 填入姓名、公司、电话、邮箱、网址、地址和备注(选填)——只有你填了的字段才会写入,空着的不用去猜"空字段该怎么写"。
  3. 如果这个码要挨着 logo 放,或者要印得很小放在实体名片上,把 纠错级别 调到 QH——纠错级别越高,即使部分码被遮挡或损坏也还能扫得开。
  4. 需要打印就导出 PNG,需要放大印在大幅海报上就导出 SVG 保证不失真。

如果你要设计的是整张实体名片版面(不只是二维码本身),pudone! 的名片设计工具可以排版正反面、加自己的 logo、导出可印刷的高清 PNG/PDF——把 vCard 二维码作为名片上的一个元素放进去即可。

纠错级别怎么选

二维码有四档纠错级别,本质是在"码的密度"和"抗损坏能力"之间做取舍:

级别 可恢复损坏比例 适合场景
L ~7% 纯数字场景(屏幕展示、邮件),追求更远的扫描距离
M ~15% 通用默认值
Q ~25% 印刷标牌、名片,任何会被经常触摸的场景
H ~30% 中间加了 logo,或容易磨损划伤的场景

纠错级别越高,二维码的模块就越密(图案更细),意味着实际打印时需要更大一点才能保证能扫开——这是个真实的取舍,不是"越高越好"就该无脑选 H

常见问题

为什么我的二维码能扫开,但打开的东西不对?

大概率是内容格式拼错了。一个本该弹出"加入WiFi"提示、结果却打开浏览器的二维码,通常是因为内容里缺了 WIFI: 前缀或某个字段格式不对,手机就把它当成纯文本或链接来处理了。

二维码中间能加 logo 吗?

可以,前提是用较高的纠错级别(QH)——logo 会遮住码的一部分数据,纠错位负责把被遮住的部分补算回来。但遮挡面积不能太大(一般不超过约 25%~30%),否则不管纠错级别多高都扫不开。

WiFi 二维码会不会泄露密码?

会。WiFi 二维码的数据里密码是明文存储的,理论上任何扫到这个码的人都能反解出密码,而不只是"连上网"这么简单。把打印出来的 WiFi 二维码,当成把密码写在便签纸上贴出去一样对待就行——家里或咖啡店用没问题,敏感网络不要公开张贴。

下载下来的二维码图片放大之后为什么会模糊?

因为下载的是 PNG。PNG 是固定分辨率的位图格式,放大超过原始尺寸自然会糊。改下载 SVG 版本——它是矢量图,放大到多大(比如做一张大型活动展板)都不会失真。

二维码的颜色有讲究吗?

有。扫描器需要前景色(深色)和背景色(浅色)之间足够的对比度,才能锁定二维码的定位图案。尽量保持"深色配浅色"的组合,避免橙配黄这类相近色,更不要让前景色比背景色还浅。

同一个二维码在有的手机上能扫、有的不能,为什么?

几乎都是对比度/打印尺寸问题,或者内容格式在严格解析的扫码器上被拒。可以换用表单式生成器重新生成(排除手打格式出错的可能)、把纠错级别调高,并按实际打印尺寸再测一遍。

小结

大多数"扫不开"的二维码其实并没有真的坏,而是用错了文本格式、纠错级别配不上实际使用场景、或者颜色/尺寸让摄像头分辨不出来。用能自动拼出正确 WIFI:/VCARD 内容的模板,给要打印的码选 Q/H 级纠错,打印前用几部真机测一下,基本能拦住绝大多数扫码失败的情况。

继续阅读