Skip to content

二维码生成器 — URL / WiFi / vCard / Email / SMS / 位置

免费二维码生成器,支持 URL、WiFi、vCard、邮件、短信、位置等 7 种类型。直接生成静态 QR Code,永不过期,无需注册,100% 浏览器本地,零上传。SVG 与 PNG 任选。

无追踪 浏览器中运行 免费
二维码全部在你的浏览器本地生成,零上传。
自定义外观
输入内容以生成二维码

什么是二维码?

二维码(QR Code,Quick Response Code)是 1994 年由 Denso Wave 发明、并由 ISO/IEC 18004:2015 国际标准定义的二维矩阵条码。它把数据编码进黑白模块组成的方形网格中,三个角的大型 finder 图案让扫描器能定位与对齐。版本从 Version 1(21×21 modules)到 Version 40(177×177 modules),编码器会根据内容长度与 ECC 级别自动选取最小可容纳版本。

二维码通过标准 URI 协议承载多种数据:URL 直接编码;WiFi 凭证使用事实标准 WIFI: 协议,iOS Camera(自 iOS 11 起)与 Android 相机原生识别;联系人卡片使用 vCard 3.0(RFC 2426,相比 vCard 4.0 / RFC 6350 兼容性更广);邮件链接使用 mailto:(RFC 6068),短信使用 sms:(RFC 5724),地图坐标使用 geo:(RFC 5870)。扫描格式正确的二维码会直接触发对应动作——打开网址、加入 WiFi、保存联系人、起草邮件——无需用户手输任何字符。

二维码之所以能在被划伤、折叠、部分遮挡时仍可扫描,靠的是 Reed-Solomon 错误纠正。L / M / Q / H 四个级别分别可恢复约 7% / 15% / 25% / 30% 的损坏数据。级别越高冗余模块越多,相同内容的二维码体积也越大。印刷品要被频繁触摸的请用 H,纯屏幕展示用 M,只有在塞超长 URL 时才退到 L。

最关键的实战区分是 static vs dynamic。静态二维码把真实内容直接编码进像素——永远可用,无需任何后端服务。动态二维码把短链编码进 QR,跳转依赖第三方重定向服务;一旦服务到期、涨价或停业,你已经印出去的所有二维码全部失效。详见配套博客 为什么你的二维码会失效——Static vs Dynamic 完整指南。本工具只生成静态二维码。

许多在线二维码网站会把你的 WiFi 密码、vCard 个人信息、私密 URL 上传到他们的服务器再编码。本工具用 qrcode npm 库 100% 在你的浏览器本地生成——零上传、零日志、零追踪。这与我们其他客户端编码工具 Base64 编解码URL 编解码 的隐私立场一致:你的输入永远不会离开页面。

// Build a WiFi payload and generate an SVG QR
import QRCode from 'qrcode';

// 1. WIFI: protocol (de facto, recognized by iOS+Android)
const payload = 'WIFI:T:WPA;S:My\\;Network;P:p@ss\\;word;H:false;;';

// 2. Generate SVG (vector, scales without pixelation)
const svg = await QRCode.toString(payload, {
  type: 'svg',
  errorCorrectionLevel: 'M',
  margin: 4,
  color: { dark: '#000000', light: '#ffffff' },
});

// 3. Drop into the DOM (DOMParser-safe, not innerHTML)
const doc = new DOMParser().parseFromString(svg, 'image/svg+xml');
preview.replaceChildren(doc.documentElement);

核心特性

永不过期

静态二维码把数据直接编码进像素,没有跳转服务可失效,没有月费,没有停业风险——一次生成,永久可用。

支持 7 种数据类型

URL、纯文本、WiFi 凭证、vCard 联系人、mailto: 邮件、SMS 短信、geo: 位置——一个工具覆盖最常见的二维码场景。

SVG 与 PNG 下载

默认 SVG 矢量格式,可直接粘贴 Figma;也提供 256 / 512 / 1024 px 的 PNG,适合屏幕、社媒、打印。

自定义颜色 + 对比度检查

前景色与背景色取色器随手调,工具自动计算对比度,扫描可靠性低时主动告警。

4 档错误纠正级别

L(~7%)、M(~15%)、Q(~25%)、H(~30%)——印刷物、可能受损的场景请选高级别。

100% 浏览器本地

通过 qrcode npm 库在浏览器内生成,输入(包括 WiFi 密码、vCard 个人信息)永远不会离开你的设备。

无需注册、无水印

打开页面、生成、下载——不需要账号,没有使用次数限制,输出图像不带任何品牌 Logo。

示例

网址链接

https://go-tools.org

最常用的场景。粘贴任意 URL 并下载二维码——链接被直接编码进像素,即使更换托管服务也不会失效。

WiFi 网络分享

SSID: Cafe WiFi / WPA2 / 密码: visitor2026

iOS 和 Android 相机原生识别 WIFI: 协议——访客扫一扫贴在门口的二维码即可加入网络,不必再念密码。

vCard 名片

Ada Lovelace / Acme Corp / +1 555 0100 / ada@acme.test

扫描二维码后联系人 App 自动填好姓名、电话、邮箱与公司。带 vCard 二维码的纸质名片,被保存的概率约为手输入的 4 倍。

地理位置

纬度 40.7829,经度 -73.9654(纽约中央公园)

geo: URI 直接打开默认地图 App 并落点——非常适合门店标识、餐厅传单、房产广告与婚礼请柬。

使用步骤

  1. 1

    选择数据类型

    选择对应的标签页:URL 用于网址,WiFi 用于网络分享,vCard 用于联系人,Email / SMS 用于预填邮件或短信,Location 用于地图坐标,Plain Text 用于任意文本。

  2. 2

    填写字段

    每个标签页只展示该类型相关的字段。WiFi 需要 SSID、密码、安全类型;vCard 接受姓名、电话、邮箱、公司、网址。预览随输入实时更新。

  3. 3

    自定义(可选)

    在 Customize 面板中调整 ECC 级别(屏幕用 M,印刷用 H)、尺寸(200-1024 px)、前景与背景色。对比度过低时工具会主动提示,避免印好后才发现扫不出。

  4. 4

    下载 SVG 或 PNG

    点击 Download SVG 获得矢量图(可任意缩放,适合印刷);或从下拉菜单选 PNG 尺寸(256 / 512 / 1024 px)。Copy SVG 可直接粘贴到 Figma 等设计工具。

常见二维码误区

动态二维码到期失效

二维码编码的是 bit.ly/xyz 类的短链,跳转服务到期后二维码就指向 404。静态二维码直接编码真实 URL,永远不会失效。

✗ 错误
QR encodes: https://bit.ly/abc → 404 after subscription lapses
✓ 正确
QR encodes: https://your-domain.com/menu directly

自定义颜色对比度过低

白底浅灰、白底浅黄——在设计稿里好看,到真实手机上几乎扫不出。

✗ 错误
FG #cccccc on BG #ffffff (ratio 1.6:1)
✓ 正确
FG #003366 on BG #ffffff (ratio 12.6:1)

未转义 WiFi 特殊字符

如果密码包含 ;、:、\ 或 ",必须在 WIFI: 载荷中以反斜杠转义。本工具自动处理,许多廉价生成器不会处理。

✗ 错误
WIFI:T:WPA;S:Cafe;P:p@ss;word;; (parser breaks at the unescaped ;)
✓ 正确
WIFI:T:WPA;S:Cafe;P:p@ss\;word;;

印刷却用了过低的 ECC

传单上 ECC=L、再被咖啡渍污染或折一道——扫不出。任何会被人手触摸的印刷品都应该用 H。

✗ 错误
Print poster, ECC=L, partially folded → unreadable
✓ 正确
Print poster, ECC=H → readable even with 30% damage

Logo 占比过大

Logo 覆盖二维码超过 25% 面积时,即使 ECC=H 也会因为损坏过多模块而失败。Logo 控制在 ≤ 20% 面积、居中。

✗ 错误
40% logo over center → fails on Samsung phones
✓ 正确
15% logo, ECC=H → reliable across phones

URL 太长,超出 ECC 容量

带 UTM 参数(utm_source、utm_medium、utm_campaign...)的跟踪 URL 在 ECC=M 下会超字节上限。要么降 ECC,要么走自有静态短链。

✗ 错误
?utm_source=...&utm_medium=...&utm_campaign=... (350 chars at M → reject)
✓ 正确
Use /go/spring (35 chars) with server-side redirect to the long URL

常见使用场景

餐厅菜单
把 URL 二维码印在餐桌上,顾客用手机查看菜单。静态二维码意味着即使更换菜单托管服务,也不影响扫描。
访客 WiFi
把 WiFi 二维码贴在家门口、咖啡馆、会议室——访客扫一扫即加入网络,再也不用念密码。
活动签到
把指向报名页的 URL 二维码印在票券、易拉宝、胸牌、挂绳上,所有摄影师拍到的画面都是一次潜在签到。
纸质名片
在名片上加 vCard 二维码——扫描即保存联系人。比让对方手动输入信息的保存率高约 4 倍。
门店与场地定位
geo: 二维码直接在地图 App 中落点——适合房产广告、餐厅传单、会场标识、婚礼请柬。
宣传海报
带 UTM 参数的 URL 二维码可追踪线下渠道转化。静态二维码即使分析平台关停也不会失效。
产品包装
在外包装上编码保修、说明书、注册页 URL。请用 ECC=H 级别,让二维码扛过运输刮伤、压痕、折角。
博物馆与展品标签
音频导览、深度内容、多语言版本——观众用自己的手机即可获取丰富内容,无需印发笨重的纸质手册。

技术细节

符合 ISO/IEC 18004:2015
输出严格遵循 QR Code 国际标准。Version 1 至 Version 40(21×21 至 177×177 modules)按内容大小与 ECC 级别自动选取。
Reed-Solomon 错误纠正
二维码使用 Reed-Solomon 编码恢复损坏或遮挡区域。L / M / Q / H 分别可恢复约 7% / 15% / 25% / 30% 数据。级别越高冗余越多,二维码体积也越大。
标准 URI 协议
WIFI: 协议(iOS/Android 事实标准)、mailto:(RFC 6068)、sms:(RFC 5724)、geo:(RFC 5870)。联系人使用 vCard 3.0(RFC 2426)——比 vCard 4.0(RFC 6350)扫描器兼容性更广。iOS 和 Android 内置相机均原生识别。
自动选择编码模式
qrcode 库根据输入自动选择最优编码方式(numeric / alphanumeric / byte / kanji)。非 ASCII 文本(含 emoji 与中日韩字符)使用 UTF-8 byte 模式。

最佳实践

不要裁掉静默区(quiet zone)
二维码周围需要 4 个 module 宽的背景色边距,本工具默认包含。即使在排版中看起来像浪费空白,也不要裁掉,否则扫描会失败。
印刷品请用 ECC=H 级别
印刷品对二维码不友好——褪色、刮痕、折痕都会损伤模块。ECC=H(~30% 恢复)能救命,纯屏幕用 M 即可。
对比度保持 4.5:1 以上
扫描器靠深浅模块对比度识别。坚持深色前景配浅色背景。反过来(浅前景配深背景)有些手机能扫,更多手机会失败。
iOS 与 Android 都要实测
iOS Camera 自 iOS 11 起原生扫描二维码。Android 厂商表现差异较大——三星、Pixel、小米行为略有不同。在量产 1 万张传单前两端都测一次。
用 HTTPS 与短 URL
URL 越长,二维码越密集(modules 越小,扫描越难)。如果跟踪 URL 超过 200 字符,请走自有的静态短链——不要用 Bitly 这类会过期的服务。

常见问题

为什么我的二维码用了一段时间就失效了?
因为那是一个动态二维码——QR 编码的是一段短链,跳转到第三方服务的真实地址。一旦该服务到期、涨价或停业,二维码就死了。本工具生成的是静态二维码,数据直接编码进像素,永远不会过期。阅读完整指南。
这个二维码会过期吗?
不会。我们生成的是静态二维码——你的 URL、文本、WiFi、vCard 数据被直接编码进 QR 像素中,没有跳转,没有需要维护的服务,没有订阅。只要打印或保存的二维码图像本身完整,就能永远扫描。
如何生成 WiFi 二维码?
切到 WiFi 标签页,输入 SSID(网络名称)和密码,再选安全类型——绝大多数现代网络选 WPA / WPA2 / WPA3,老设备选 WEP,开放网络选无密码。如果是隐藏 SSID,请勾选 Hidden network。下载后,访客用手机相机扫一扫即可自动加入网络。
如何为名片生成 vCard 二维码?
切到 vCard 标签页,填写姓名、电话、邮箱、公司、网址。输出为 vCard 3.0(RFC 2426)——iOS 与 Android 兼容性最好的格式(vCard 4.0 / RFC 6350 的扫描器支持反而较差)。把二维码印到纸质名片上,扫描后一键保存联系人。
这个二维码生成器免费吗?
免费——无需注册、无需付费、没有使用次数限制、输出图像不带水印。站点靠少量、与本工具无关页面的展示广告维持运营。工具本身完全在浏览器中运行,零上传、零追踪。
可以下载为 SVG 吗?
可以——SVG 是默认下载格式。SVG 是矢量图,可任意缩放不失真,可直接粘贴进 Figma、Illustrator、Sketch,也可送印任意尺寸甚至广告牌。需要位图请从下载菜单选 PNG(256 / 512 / 1024 px)。
二维码最多能编码多长的数据?
在错误纠正级别 L(QR Version 40)下,byte 模式最多约 2,953 字节;M ≈ 2,331 字节;Q ≈ 1,663 字节;H ≈ 1,273 字节。纯数字模式可装更多(L 级别下最多 7,089 位数字)。如果内容被拒,请降低 ECC 级别或缩短 URL。
应该选哪个 ECC(错误纠正)级别?
默认 M(中等,~15% 恢复)适合绝大多数场景。如果二维码会被印到包装、布料等容易损伤的介质上,请选 H(~30%)。只有在内容触及字节上限、且二维码只在屏幕展示的情况下,才使用 L(~7%)。
可以在二维码中嵌入 Logo 吗?
暂不支持。Logo 嵌入需要更高的 ECC 级别(Q 或 H)和精细的尺寸控制,否则二维码在不同手机上的扫描可靠性会显著下降。我们正在为 v2 评估带安全默认值的实现。目前建议保持二维码简洁——转化率最高的二维码往往是最朴素的。
我的输入会被上传到服务器吗?
不会。所有生成都通过 qrcode npm 库在浏览器本地完成,库文件加载一次后即在本地运行。你的 URL、WiFi 密码、vCard 数据、任何输入都不会离开你的设备。刷新页面即清空,所有输入零存储、零日志、零分析。
为什么我自定义颜色后的二维码扫不出来?
二维码扫描器依赖前景(深色)与背景(浅色)之间的高对比度。如果你反过来——浅色前景配深色背景——大多数扫描器会失败。请坚持深色前景配浅色背景,对比度至少 4.5:1。本工具会在对比度过低时给出提示。
生成的是哪个 QR 版本?
qrcode 库会按内容长度和 ECC 级别自动选择最小可容纳版本(1 到 40)。Version 1 是 21×21 modules,Version 40 是 177×177。输出符合 ISO/IEC 18004:2015 国际标准。
可以商用吗?
可以——QR Code 是开放标准(ISO/IEC 18004),不受专利限制(Denso Wave 早在 1994 年就放弃了专利权)。你在本站生成的二维码完全归你所有,可商用、无需署名、无需授权费。
可以离线使用吗?
首次加载后 qrcode 库会被浏览器缓存,后续生成无需联网即可工作。页面本身是静态资源——没有 API 调用,没有后端依赖。在飞机起飞前打开一次,就能在 30,000 英尺高空继续生成二维码。