二维码 生成器

输入文本或 URL 即时生成二维码,支持自定义颜色、尺寸和容错级别,可下载 PNG 和 SVG。所有处理在浏览器本地完成。

Text / URL
尺寸
容错级别
Preview

这个工具有帮到你吗?

什么是 QR 码

QR 码(Quick Response Code)是 1994 年由日本电装公司发明的二维条码,可存储数字、字母、中文、二进制等多种数据。相比传统条形码,QR 码容量更大(最多 7089 个数字)、支持 360 度任意方向扫描、且具有纠错能力,即使部分损坏仍可读取。

QR 码的应用场景

移动支付(微信/支付宝扫码)、网站链接分享(比手动输入 URL 快得多)、名片信息传递(vCard)、WiFi 密码分享、产品溯源和防伪、电子票务(电影票/登机牌)、线下到线上导流(海报扫码关注公众号)。QR 码已经成为连接物理世界和数字世界的桥梁。

用代码生成二维码

JavaScript
// Generate QR code with qrcode library
import QRCode from 'qrcode';

// To canvas
await QRCode.toCanvas(canvasEl, 'https://deepinto.top', {
  width: 256,
  margin: 2,
  color: { dark: '#000000', light: '#ffffff' },
  errorCorrectionLevel: 'M',
});

// To data URL
const dataUrl = await QRCode.toDataURL('Hello World');
// Use as <img src={dataUrl} />

// To SVG string
const svg = await QRCode.toString('Hello', { type: 'svg' });
Python
# pip install qrcode[pil]
import qrcode

qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_H,
    box_size=10,
    border=2,
)
qr.add_data('https://deepinto.top')
qr.make(fit=True)

img = qr.make_image(fill_color="black", back_color="white")
img.save("qrcode.png")

常见问题

什么是 QR 码容错级别?
容错级别决定 QR 码在部分损坏时仍能被正确扫描的能力。L 级(7%)最小,H 级(30%)最强。如果 QR 码会被打印或可能被遮挡,建议使用 Q 或 H 级别。高级别会生成更密集的图案。
QR 码最多能存多少文字?
QR 码最大容量取决于容错级别和字符类型。纯数字最多 7089 个,字母数字最多 4296 个,二进制/中文最多 2953 个字节。本工具会在超出容量时提示错误。
生成的 QR 码安全吗?
所有 QR 码生成完全在浏览器中使用 Canvas API 完成,数据不会上传到任何服务器。你可以在离线状态下放心使用。
PNG 和 SVG 格式有什么区别?
PNG 是位图格式,放大后会模糊,适合屏幕显示和社交媒体分享。SVG 是矢量格式,无限放大不失真,适合印刷和高分辨率场景。建议打印时使用 SVG 格式。
可以用自定义 Logo 吗?
当前版本不支持嵌入 Logo,但你可以使用 H 级容错(30%),然后在外部用图片编辑器将 Logo 覆盖在 QR 码中心区域。H 级容错允许最多 30% 的面积被遮挡仍可扫描。
为什么扫描不出来?
常见原因:前景色和背景色对比度太低(建议使用黑白配色)、QR 码太小或分辨率太低、容错级别太低(L 级)、数据超出容量限制。尝试增大尺寸或提高容错级别。