二维码生成器

二维码在纠错等级最低(L,版本 40)时最多能放 2,953 字节文本,纯数字最多 7,089 位。https://example.com 这样的短网址,在 M 级下用 25×25 的版本 2 就能放下。

内容类型

纠错等级

填写上面的内容即可生成二维码。

问题解决了吗?

使用方法

  1. 选择二维码的内容类型:文本、网址、邮件、电话或 Wi-Fi。
  2. 每填一项,二维码都会随之更新。Wi-Fi 需要填网络名称、密码和加密方式。
  3. 选择纠错等级。屏幕显示或打印一般用 M 就够了。贴在容易弄脏的地方或中间要放 logo 时,选 Q 或 H。
  4. 用手机相机扫一下预览确认。打印和设计用 SVG,文档和幻灯片用 PNG。

计算方法

按 QR 码 Model 2 的规范 ISO/IEC 18004 生成。先看内容,选能装下全部内容的最紧凑编码:纯数字用数字模式(每位约 3.3 比特);只有大写字母、数字、空格和 $ % * + - . / : 符号时用字母数字模式(每字符 5.5 比特);其他情况用字节模式,以 UTF-8 每字节 8 比特存储。

然后从版本 1(21×21 模块)到 40(177×177)中,选出在所选纠错等级下能装下数据的最小版本。数据分块,每块加上 GF(256) 上的里德-所罗门纠错码字,各块交错排列后,避开三个角的定位图形、定时图形和校正图形,按之字形放置。

最后把 8 种掩模图案之一以 XOR 叠加到数据区,防止碰巧出现大色块或类似定位图形的形状。8 种都按规范的 4 条罚分规则打分(同色模块连续 5 个以上、2×2 色块、与浅色带相邻的 1:1:3:1:1 图形、深浅模块数量失衡),选分数最低的。也可以手动固定掩模。

各类型写入二维码的内容

类型存储形式手机扫码后
文本原样保存输入的文本显示文本,提供搜索或复制
网址链接(没有协议头时补上 https://)提示打开网页
邮件mailto:地址?subject=...&body=...新建一封填好内容的邮件
电话tel:+861012345678提示拨打电话
Wi-FiWIFI:T:WPA;S:名称;P:密码;;提示连接网络

容量参考

下表是版本 40(177×177 模块)的最大容量。实际的码通常小得多,越小越容易扫。

等级数字字母数字字节
L (7%)7,0894,2962,953
M (15%)5,5963,3912,331
Q (25%)3,9932,4201,663
H (30%)3,0571,8521,273

打印和扫码技巧

  • 四周留出至少 4 个模块的空白区(静区)。把空白裁掉是扫不出来最常见的原因。
  • 浅色背景配深色码点,对比要鲜明。反色或浅淡颜色在很多扫码应用里都会失败。
  • 打印宽度至少 2cm,内容长或要远距离扫码时再放大。
  • 链接越短,码越简单越耐用。内容很长时,建议换成自己管理的域名下的短网址。

出处与说明

  • 编码遵循 ISO/IEC 18004:2015(QR Code bar code symbology specification)。QR Code 是株式会社电装波(DENSO WAVE)的注册商标。
  • Wi-Fi 码采用 ZXing 项目 Wiki(Barcode Contents)中记载的 WIFI: 格式,Android 和 iOS 相机都能识别。\ ; , : " 这些字符要用反斜杠转义。
  • 全部 40 个版本在 4 个纠错等级下都生成过,并用两个独立的开源解码器读取验证。

常见问题

生成的二维码会过期吗?

不会。这是静态码,内容就在图案本身里,中间没有服务器、跳转或追踪。只要链接目标还在,就一直能用。

纠错等级该选哪个?

M 能恢复约 15% 的损坏,作为默认最稳妥。L 适合干净的屏幕,码最小最简单。Q(25%)和 H(30%)码会变大,但更耐划痕、污渍和中间的 logo。

为什么文字放不下?

版本 40 的二维码在 L 级能放 2,953 字节,M 级 2,331,Q 级 1,663,H 级 1,273。中文这类非拉丁文字每个字占 2 到 4 字节(汉字通常 3 字节),比英文更快装满。

SVG 和 PNG 选哪个?

SVG 是矢量格式,放大到任何尺寸都清晰,适合打印和设计软件。PNG 是普通图片。PNG 把每个模块画成整数像素以保持边缘锐利,所以输入的尺寸会相应取整。

输入的内容会发送到别处吗?

不会。二维码完全在浏览器里生成,包括 Wi-Fi 密码在内,输入的内容都不会离开你的设备。