VCF 转 CSV/Excel
VCF(vCard)是手机和邮箱导出通讯录的标准文件格式,用记事本或 Excel 打开只能看到一行行 BEGIN:VCARD 代码,中文还常显示成 =E5=BC=A0 之类的乱码。VCF 转 CSV,就是把 vcf 通讯录的每位联系人变成表格的一行:姓名、手机、邮箱、公司、地址各占一列,可下载 CSV 或 Excel,兼容 vCard 2.1、3.0、4.0。全程在浏览器本地完成,通讯录不上传。
或粘贴 vCard 文本
请先添加 .vcf 通讯录文件。
通讯录含他人手机号等个人信息:本工具在浏览器本地解析,联系人内容不会上传到任何服务器。
如何使用VCF 转 CSV/Excel
先从手机导出 .vcf 通讯录文件:iPhone 一般在 iCloud 网页版的「通讯录」里全选后导出 vCard,安卓手机一般在「联系人 - 设置 - 导入/导出」里导出到存储设备(下方有各品牌的详细说明)。
把 .vcf 拖入本页或点击选择,可一次多选最多 20 个文件;页面会显示共有多少位联系人、多少个手机号,以及跳过了哪些头像或空卡片。
勾选需要导出的字段(括号里是有值的人数),选择多个号码「分列」还是「合并到一格」,需要时把号码去掉空格横线、去掉 +86。
点「下载 Excel(.xlsx)」或切到 CSV 后点「下载 CSV」。Excel 格式里所有单元格都是文本,手机号不会变成科学计数法。
关于VCF 转 CSV/Excel的常见问题
- vcf 文件是什么,vcf 文件怎么打开?
- vcf 是 vCard 名片格式的扩展名,手机、邮箱和 Outlook 导出通讯录时都用它。它是纯文本,每位联系人以 BEGIN:VCARD 开头、END:VCARD 结尾,中间一行一个字段。直接双击通常会被系统当成「导入联系人」,用记事本打开只能看到代码;想当表格看,最省事的办法是用本页把 vcf 文件转换成 Excel,每人一行、每个字段一列。
- 手机通讯录怎么导出成 vcf 再转 Excel?
- 分两步:先在手机里把通讯录导出成 .vcf(iPhone 走 iCloud 网页版的通讯录导出,安卓在联系人设置里的「导入/导出」导出到存储设备),再把这个文件拖进本页,选择 Excel 格式下载即可。手机通讯录导出 Excel 没有一步到位的系统功能,中间都要经过 vcf 这一步,各品牌的具体位置见上面的「各手机怎么导出 vcf 通讯录」。
- vcf 转 Excel 后中文乱码怎么办?
- vcf 中文乱码通常有两种来源。一是老安卓(vCard 2.1)把中文写成 Quoted-Printable 编码,像 =E5=BC=A0 这样,本工具会按 CHARSET 自动还原成汉字;二是旧功能机整份文件用 GBK 保存,本工具读入时发现不是合法 UTF-8 会自动改用 GBK。如果预览里仍是乱码,在文件列表下方的「编码」里手动切换为 GBK 或 UTF-8 重新解析即可。
- vcf 里一个人有多个手机号,转换后会丢吗?
- 不会丢。默认「分列」:通讯录里最多有几个手机号就生成几列,表头写成手机1、手机2,号码少的人后面留空;选「合并到一格」则同类号码放在同一格里用分号隔开,带自定义标签的会写成「号码(标签)」。同一个人身上写法不同但数字相同的号码(比如带空格和不带空格)会自动去重,只保留第一次的写法。
- vcf 转 CSV 后手机号变科学计数法怎么办?
- 这是 Excel 双击打开 CSV 时把长数字当数值处理造成的,CSV 文件本身里的号码是完整的。要直接用 Excel 查看,请在本页选择「Excel(.xlsx)」格式下载:所有单元格都写成文本,13800138000 原样显示,0755 开头的区号也不会丢 0。CSV 更适合导入 CRM、企业微信等其他系统使用。
- vcf 通讯录里的联系人头像能导出吗?
- 不能。头像在 vcf 里是一大段 base64 图片数据,表格单元格放不下也没法显示,所以本工具解析时会直接跳过头像(以及 LOGO、声音等二进制字段),并在结果上方提示跳过了多少张。导出的表格只包含姓名、号码、邮箱、公司、地址、生日、备注等文字字段。
- vcf 通讯录转 Excel 会上传到服务器吗?
- 不会。通讯录里是你和亲友、客户的手机号,属于敏感个人信息,所以本工具的解析和表格生成全部由浏览器在你自己的设备上完成,联系人内容不会发往任何服务器,也不会保存到本地存储(只记住格式、表头语言这类选项)。可以打开浏览器开发者工具的「网络」面板自行验证。
- vcf 转 Excel 免费吗,有大小限制吗?
- 免费,不用注册登录,也不限次数。限制来自浏览器内存:一次最多选 20 个 vcf 文件、合计不超过 50MB,联系人总数上限 10 万位,粘贴文本最多约 209 万字符。纯文字的通讯录很小,一千位联系人通常只有几百 KB,体积大多是头像撑起来的;超限时把通讯录拆成几份分批转换即可。
- vcf 转换时能把重复的联系人合并吗?
- 目前不做跨联系人的合并:两张卡片即使姓名相同,也会各占一行原样导出,避免把同名不同人的通讯录误合并。能做到的是同一位联系人内部去重——重复的号码、大小写不同的同一个邮箱只保留一份。需要按姓名或号码去掉重复行,可以先导出 CSV,再用本站的 CSV 去重处理。
- 手机上能直接把 vcf 转成 Excel 吗?
- 能。用手机浏览器打开本页,点选择文件后从「文件」App 或下载目录里挑出导出的 .vcf 即可,转换同样在手机本地完成。在微信里收到的 vcf 需要先「用其他应用打开」保存到文件,再回到本页选择。下载的 xlsx 可以用 WPS 或 Excel 手机版打开。
- 老安卓 vCard 2.1 的 vcf 能转吗?
- 能,3.0 和 4.0 也都支持。2.1 多见于老安卓和诺基亚,特点是 Quoted-Printable 中文编码和不带空格的折行;3.0 是 iPhone、iCloud、Google 通讯录的格式,会出现 item1.X-ABLabel 这类自定义标签;4.0 的号码写成 tel: 开头的地址。本工具对三代格式的折行、转义和号码类型都做了兼容,结果上方会提示无法识别而跳过的行数。
各手机怎么导出 vcf 通讯录
想把手机通讯录导出 Excel,第一步都是先拿到 .vcf 文件。不同品牌、不同系统版本的菜单名称会有出入,下面写的是一般位置,找不到时在设置里搜索「导出」即可。
| 来源 | 一般在哪里导出 | 说明 |
|---|---|---|
| iPhone(苹果通讯录导出 Excel) | 电脑浏览器登录 iCloud 网页版 - 通讯录 - 全选 - 导出 vCard;较新的 iOS 也可在通讯录列表里长按「所有联系人」选择导出 | 前提是手机已开启 iCloud 通讯录同步;导出的是 vCard 3.0,常带头像 |
| 安卓 / 华为 / 小米 / OPPO / vivo | 联系人 - 设置(或右上角菜单)- 导入/导出 - 导出到存储设备 | 会在手机存储里生成 .vcf,老机型多为 vCard 2.1;安卓通讯录导出 Excel 也是先走这一步 |
| Google 通讯录 | contacts.google.com - 导出 - 选择 vCard 格式 | 网页版导出,适合换机前备份 |
| Outlook | 联系人 - 选中后另存为 vCard(.vcf) | 一般一位联系人一个文件,可在本页一次多选合并转换 |
拿到文件后拖进上面的转换区即可。通讯录 vcf 转 Excel 只差这一步,iPhone 通讯录导出表格、安卓联系人导出 Excel 走的都是同一条路。
为什么不直接用 Excel 打开 vcf
Excel 能打开 vcf,但打开后基本没法用,这也是 vcf 文件转换工具存在的原因:
- Excel 不认 vCard 结构,每个属性挤成一行一列,一位联系人被拆成十几行,没法按人筛选、排序。
- 老安卓导出的 2.1 格式把中文写成 Quoted-Printable 编码,Excel 里看到的是一串 =E5=BC=A0,这就是常说的 vcf 乱码。
- 一个人有好几个号码时,只能手工把它们挪到同一行,联系人一多根本挪不完。
- 就算整理成了 CSV,双击打开时手机号也会被显示成 1.38E+10。本工具默认导出 xlsx,号码按文本写入,不会变形。
vcf 中文乱码 =E5=BC=A0 是什么编码
这是 Quoted-Printable(QP)编码,规则写在 RFC 2045 里,老安卓和诺基亚导出的 vCard 2.1 常用它存中文。每个 =XX 代表一个字节,UTF-8 下一个汉字占 3 个字节,所以每 3 组 =XX 还原成一个字。拿一行真实写法拆开看:
N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=E5=BC=A0;=E4=B8=89;;;
| 片段 | 对应字节 | 还原结果 |
|---|---|---|
| =E5=BC=A0 | E5 BC A0(UTF-8) | 张,填进「姓」列 |
| =E4=B8=89 | E4 B8 89(UTF-8) | 三,填进「名」列 |
| N 的五段 | 姓;名;中间名;前缀;后缀 | 没有 FN 时按「姓+名」拼成姓名「张三」 |
- 同一个「张」在 GBK 里是 D5 C5 两个字节。卡片写了 CHARSET=GBK 时本工具会照它解码;整份文件用 GBK 保存却没写 CHARSET 时,按 UTF-8 读会变成问号方块,这时在「编码」里切到 GBK。
- 行尾单独一个 = 是 QP 的软换行,表示下一行接着写同一个字段。用记事本手工清理时删掉它,一个名字就会被拆成两半。
- vCard 3.0(RFC 2426)和 4.0(RFC 6350)不再用 QP 写中文,iPhone、iCloud 导出的文件一般不会出现这种 vcf 中文乱码。
vcard 转 excel 后各字段对应哪一列
不论选 vCard 转 CSV 还是转 Excel,列的对应规则都一样;某个属性整份通讯录都没人填写时,它不会出现在「导出哪些字段」里。
| vCard 里的属性 | 表格里的列 | 处理方式 |
|---|---|---|
| FN、N | 姓名、姓、名 | 没有 FN 时用 N 组合:中文按「姓+名」无空格拼接,英文按「名 姓」 |
| TEL | 手机、家庭电话、工作电话、传真、其他电话 | 按类型归列,同时标了工作和传真的归传真;4.0 的 tel: 前缀自动去掉 |
| 邮箱 | 同一人重复的邮箱(大小写不同)只保留一个 | |
| ORG、TITLE | 公司、部门、职位 | 公司名里转义的分号会还原,第二段起作为部门 |
| ADR | 家庭地址、工作地址、其他地址 | 中文地址按「国家省市区街道」顺序拼成一行,邮编放在括号里 |
| BDAY | 生日 | 统一成 1990-03-15;iPhone 不带年份的生日写成 03-15 |
| NOTE、CATEGORIES、URL、IMPP | 备注、分组、网址、即时通讯 | QQ、微信等账号保留「QQ:」「微信:」前缀 |
| PHOTO、LOGO | 不导出 | 头像是图片数据,表格放不下,解析时直接跳过并提示数量 |
只想从一段文字里捞出手机号而不是转换整份通讯录,用 提取手机号;要提取邮箱地址,用 提取邮箱。
英文语境下这类工具通常叫 vcf to csv converter 或 vCard to Excel converter,搜 vcf to excel、vcard to csv 找到的都是同一件事。把表头切到 English 后,导出的列名会变成 Name、Mobile、Home Phone 这样的英文。