如何免费生成二维码
二维码将文本编码为手机摄像头无需任何应用即可识别的二维图案。大多数人用它来传递网址,但它同样支持 WiFi 密码、联系人名片、邮件地址、电话号码和纯文本。以下是生成方法。
在浏览器中操作
将文本或网址粘贴到二维码生成器中,下载结果即可。工具完全在浏览器中运行——数据不会发送到服务器。
用于印刷:下载 1000×1000 像素或更大尺寸。用于数字场景(网站、演示文稿):300×300 像素已足够。
可编码的内容类型
| 内容类型 | 输入格式 |
|---|---|
| 网址 | https://example.com |
| 纯文本 | 任意文本字符串 |
| 邮件 | mailto:user@example.com |
| 电话号码 | tel:+8613812345678 |
| 短信 | SMSTO:+8613812345678:您的消息 |
| WiFi | WIFI:T:WPA;S:网络名称;P:密码;; |
| 位置 | geo:39.9042,116.4074 |
| vCard(联系人) | BEGIN:VCARD...END:VCARD |
WiFi 二维码最为实用——访客扫码即可连网,无需读出密码。
Python:qrcode
pip install qrcode[pil]
import qrcode
# 基本网址
qr = qrcode.make("https://example.com")
qr.save("qr.png")
自定义纠错级别和尺寸:
import qrcode
from qrcode.constants import ERROR_CORRECT_H
qr = qrcode.QRCode(
version=None, # 自动选择版本
error_correction=ERROR_CORRECT_H, # 可恢复 30% 损坏
box_size=10, # 每个模块的像素数
border=4, # 静区宽度(模块数)
)
qr.add_data("https://example.com")
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save("qr.png")
纠错级别决定二维码损坏多少后仍可识别:
| 级别 | 最大损坏 | 适用场景 |
|---|---|---|
| L | 7% | 干净的数字屏幕 |
| M | 15% | 通用场景 |
| Q | 25% | 轻微磨损的表面 |
| H | 30% | 印刷在实物上 |
JavaScript:qrcode
npm install qrcode
const QRCode = require('qrcode');
// 保存为 PNG 文件
QRCode.toFile('qr.png', 'https://example.com', { width: 300 }, err => {
if (err) throw err;
});
// 获取 Data URL(用于嵌入 HTML 或邮件)
const url = await QRCode.toDataURL('https://example.com', { width: 300 });
// url = "data:image/png;base64,..."
// 获取 SVG 字符串(最适合印刷)
const svg = await QRCode.toString('https://example.com', { type: 'svg' });
require('fs').writeFileSync('qr.svg', svg);
用于印刷材料时使用 SVG——可无限放大而不失真。
WiFi 二维码格式
完整格式:
WIFI:T:WPA;S:我的网络;P:我的密码123;;
字段说明:
T:加密类型(WPA、WEP,或开放网络留空)S:SSID(网络名称,区分大小写)P:密码H:true可选——如果网络是隐藏网络则添加
Android 和 iOS 摄像头原生支持扫描,无需安装任何应用。
二维码尺寸与扫描距离
太小的二维码在光线不足或角度偏斜时无法可靠识别。
| 印刷尺寸 | 可靠扫描距离 |
|---|---|
| 2 × 2 厘米 | 最远 20 厘米 |
| 4 × 4 厘米 | 最远 40 厘米 |
| 8 × 8 厘米 | 最远 80 厘米 |
| 20 × 20 厘米 | 最远 2 米 |
通用规则:扫描距离约为印刷尺寸的 10 倍。海报上的二维码需要远大于名片上的二维码。
要点总结
- 网址、WiFi 密码、联系人名片和纯文本均可编码为标准二维码。
- 印刷材料使用 SVG 输出——可无限缩放而不失真。
- 实物印刷用纠错级别 H(30% 恢复率);纯数字场景用 L。
- WiFi 格式:
WIFI:T:WPA;S:网络名称;P:密码;; - 扫描距离约为印刷二维码尺寸的 10 倍。