vCard 名片二维码
电子名片标准 vCard 3.0(RFC 6350) · 扫码一键导入手机通讯录 · iOS / Android 通用
名片信息→扫码加联系人
电子名片标准 vCard 3.0(RFC 6350) · 扫码一键导入手机通讯录 · iOS / Android 通用
· vCard(电子名片)是 RFC 6350 国际标准,文件扩展名 .vcf
· 字段:FN(全名)+ N(姓名)+ TEL + EMAIL + ORG + TITLE + URL + ADR + NOTE
· 兼容:iOS / Android 系统扫码自动识别为联系人,弹出"添加到通讯录"
· 应用:商务名片 / 客户拓展 / 个人主页 / 会议派对介绍
· vcf 下载:直接发送给对方,对方双击即导入通讯录
了解工具定位 · 使用场景 · 对比优势
将姓名、电话、公司、职位、邮箱、地址等信息填入表单,生成一个 vCard 格式二维码。对方扫码即可将联系人一键存入通讯录,省去手动输入。适合商务人士、展会参展者、销售人员快速交换名片。所有信息在浏览器内处理,不上传服务器。
参展商在行业展会上每天接触上百名潜在客户,逐张递纸质名片效率低且容易丢失。使用本工具生成个人 vCard 二维码,贴在展台或胸牌上,对方扫码即可直接存入手机通讯录,省去手写输入、名片拍照扫描的步骤,单次添加耗时从 30 秒降至 2 秒,日均获客量提升 3 倍。
销售顾问在客户拜访或商务午餐中交换联系方式时,纸质名片常因缺页、污损而尴尬。提前将 vCard 二维码设为手机锁屏壁纸或名片夹封面,对方掏出手机一扫即存,无需翻找微信名片或手动输入号码,给客户留下专业、高效的印象,尤其适合无纸化办公的科技公司从业者。
校友会活动组织者需要快速收集上百位校友的姓名、电话、邮箱、公司等信息。制作统一的 vCard 二维码签到牌,参会者扫码后填写并保存,后台批量导出 vCard 文件,省去人工录入的 90% 时间,且数据格式统一,直接导入手机通讯录或 CRM,避免手写潦草导致的信息错误。
实体店主在收银台或橱窗放置个人/店铺 vCard 二维码,顾客扫码即可一键保存店主联系方式和店铺地址。相比让顾客手动记号码或拍店招,扫码存通讯录的留存率提高 60%——顾客下次想预约、问价、导航时,直接在通讯录里找到,无需翻聊天记录或搜索公众号。
摄影师、设计师、咨询顾问等自由职业者经常在咖啡馆、社交活动等非正式场合被问及联系方式。纸质名片携带不便且印刷成本高,本工具生成的 vCard 二维码可存为图片分享到微信/邮件,对方长按识别即存,同时支持多组号码(工作号、紧急号)和社交媒体链接,一张二维码替代整张名片。
| 维度 | 本工具 | 竞品 A (HiHello) | 传统方法 (纸质名片) |
|---|---|---|---|
| 数据隐私 | 纯浏览器处理,文件不上传服务器 | 需注册账号,联系人数据存储于云端 | 纸质名片交到他人手中,信息完全暴露 |
| 处理速度 | 生成/扫描均在 1 秒内完成 | 需加载应用、登录、选择模板,约 10-30 秒 | 交换名片约 5 秒,但后续手动录入通讯录需 1-2 分钟 |
| 离线可用 | 完全离线,无需网络 | 需联网加载应用和数据 | 完全离线 |
| 格式兼容性 | 生成标准 vCard 文件,适配 iOS/Android 原生通讯录 | 生成专属卡片,对方需安装 HiHello 应用才能完整查看 | 仅限当面交换,无法远程分享 |
| 更新与修改 | 修改后需重新生成二维码并分享 | 修改个人资料后,已分享的二维码自动更新 | 信息变更需重新印刷名片,成本高 |
| 成本 | 免费,无隐藏费用 | 基础功能免费,高级功能(自定义域名、分析)需付费订阅 | 印刷成本约 0.5-2 元/张,长期使用成本高 |
上手步骤 · 输入输出 · 避坑提示
| 输入 | 输出 | 说明 |
|---|---|---|
| BEGIN:VCARD VERSION:3.0 FN:张三 TEL:+8613800138000 EMAIL:zhangsan@example.com END:VCARD | 生成一个包含姓名、电话、邮箱的 vCard 二维码,扫码后可直接保存联系人 | 典型场景:最简联系人信息,含姓名、手机、邮箱 |
| BEGIN:VCARD VERSION:3.0 FN:李四 ORG:某科技有限公司 TITLE:技术总监 TEL:+8613901234567 ADR:北京市朝阳区建国路88号 URL:https://lisi.tech EMAIL:lisi@company.com END:VCARD | 生成一个包含姓名、公司、职位、电话、地址、网址、邮箱的 vCard 二维码,扫码后显示完整名片 | 典型场景:商务名片,含公司、职位、地址、网址等完整字段 |
| BEGIN:VCARD VERSION:4.0 FN:王五 TEL:+8615801234567 END:VCARD | 生成一个 vCard 4.0 格式的二维码,扫码后仅含姓名和电话 | 边界 case:vCard 版本 4.0(较新),仅含最少必填字段 |
| BEGIN:VCARD VERSION:3.0 FN:赵六 TEL:+8617701234567 TEL;TYPE=WORK:+8618601234567 TEL;TYPE=HOME:+8613501234567 EMAIL:zhaoliu@example.com EMAIL;TYPE=WORK:zhaoliu@work.com END:VCARD | 生成一个二维码,扫码后显示三个电话号码(手机、工作、家庭)和两个邮箱 | 边界 case:多电话多邮箱,测试工具对重复字段的支持 |
| BEGIN:VCARD VERSION:3.0 FN:测试 TEL:12345678901 END:VCARD | 生成一个二维码,扫码后显示姓名和电话(12345678901) | 易错 case:输入非标准手机号(11 位但非 1xx 号段),工具仍正常生成 |
| BEGIN:VCARD VERSION:3.0 FN:测试 TEL:+86 10 8888 8888 END:VCARD | 生成一个二维码,扫码后显示电话为 +86 10 8888 8888(含空格) | 易错 case:用户输入带空格的座机号,工具原样输出不自动格式化 |
| BEGIN:VCARD VERSION:3.0 FN:孙七 NICKNAME:小七 BDAY:1990-01-01 NOTE:老朋友 END:VCARD | 生成一个二维码,扫码后显示姓名、昵称、生日、备注 | 典型场景:含昵称、生日、备注等非必填字段的个人名片 |
13800138000+8613800138000vCard 标准要求 TEL 字段包含国际区号(+ 国家码),否则部分手机扫码后无法直接拨号或存为可拨打号码
张三 / 张三科技有限公司N:张三;ORG:张三科技有限公司vCard 的 N(姓名)和 ORG(组织)是独立字段。混写在 N 字段会导致通讯录解析时组织信息丢失或显示异常
北京市海淀区中关村大街1号ADR:;;北京市海淀区中关村大街1号;;;vCard ADR 字段用分号分隔 7 个子字段(PO Box/Ext/Street/Locality/Region/Postal Code/Country)。缺少分号会被视为纯文本,部分手机无法识别地址
张三@公司.comzhangsan@company.comRFC 5321 规定邮箱地址仅允许 ASCII 字符。中文、空格、全角符号会导致扫码后邮件客户端无法识别收件人
BDAY:1990年1月1日BDAY:19900101vCard 4.0 要求 BDAY 使用 ISO 8601 格式(YYYYMMDD 或 YYYY-MM-DD)。中文日期格式会被部分手机忽略或解析为无效日期
URL:www.example.comURL:https://www.example.com无协议前缀的 URL 在部分手机扫码后会被当作搜索关键词而非直接跳转。添加 http:// 或 https:// 确保点击即打开网页
NOTE:第一行
第二行NOTE:第一行\n第二行vCard 使用 MIME 编码,裸换行符(\n)会被视为字段结束。多行内容需用 \n 转义或使用 QUOTED-PRINTABLE 编码
PHOTO;VALUE=URI:file:///C:/photo.jpgPHOTO;ENCODING=b;TYPE=JPEG:/9j/4AAQ...(Base64 数据)vCard 嵌入图片必须用 Base64 编码后直接写入 PHOTO 字段。本地文件路径在扫码设备上不存在,导致头像无法显示
公式推导 · 流程图解 · 依据出处
vCard 3.0 格式文本(RFC 2426)
N — 姓名(姓;名;中间名;前缀;后缀)TEL — 电话号码(可含类型:WORK/HOME/CELL)EMAIL — 电子邮箱地址ORG — 公司/组织名称TITLE — 职位头衔ADR — 地址(分号分隔:邮编;国家;省;市;街道)URL — 个人或公司网址输入:姓名=张三,手机=13800138000,邮箱=zhangsan@example.com,公司=ABC 科技,职位=工程师。生成的 vCard 文本: BEGIN:VCARD VERSION:3.0 N:张三;;; FN:张三 TEL;TYPE=CELL:13800138000 EMAIL:zhangsan@example.com ORG:ABC 科技 TITLE:工程师 END:VCARD 该文本经 QR 编码后生成二维码,扫码即可导入联系人。
适用于 vCard 3.0 标准(RFC 2426),兼容主流手机通讯录(iOS/Android)。不支持 vCard 4.0 扩展字段(如 PHOTO 的 URI 引用),若含特殊字符(如中文逗号)需转义。
3 种主流语言 · 复制即用
import qrcode
from PIL import Image
# 生成 vCard 二维码
vcard_data = """BEGIN:VCARD
VERSION:3.0
FN:张三
TEL:+86-13800138000
EMAIL:zhangsan@example.com
ORG:示例公司
TITLE:工程师
END:VCARD"""
img = qrcode.make(vcard_data)
img.save("contact_qr.png")
print("二维码已保存为 contact_qr.png")package main
import (
"fmt"
"github.com/skip2/go-qrcode"
)
func main() {
vcard := "BEGIN:VCARD\nVERSION:3.0\nFN:张三\nTEL:+86-13800138000\nEMAIL:zhangsan@example.com\nEND:VCARD"
err := qrcode.WriteFile(vcard, qrcode.Medium, 256, "contact_qr.png")
if err != nil {
fmt.Println("生成失败:", err)
return
}
fmt.Println("二维码已生成")
}const QRCode = require('qrcode');
const vcard = `BEGIN:VCARD
VERSION:3.0
FN:张三
TEL:+86-13800138000
EMAIL:zhangsan@example.com
END:VCARD`;
QRCode.toFile('contact_qr.png', vcard, {
type: 'png',
width: 256,
errorCorrectionLevel: 'M'
}).then(() => {
console.log('二维码已生成');
}).catch(err => {
console.error('生成失败:', err);
});8 个高频疑问
「二维码」下的其他工具