VCF 转 CSV/Excel

VCF(vCard)是手机和邮箱导出通讯录的标准文件格式,用记事本或 Excel 打开只能看到一行行 BEGIN:VCARD 代码,中文还常显示成 =E5=BC=A0 之类的乱码。VCF 转 CSV,就是把 vcf 通讯录的每位联系人变成表格的一行:姓名、手机、邮箱、公司、地址各占一列,可下载 CSV 或 Excel,兼容 vCard 2.1、3.0、4.0。全程在浏览器本地完成,通讯录不上传。

拖入或选择 .vcf 通讯录文件(可多选,合计 ≤50MB),点击选择
通讯录不上传 · 浏览器本地解析 · 支持 vCard 2.1 / 3.0 / 4.0 · 最多 20 个文件、合计 ≤50MB
或粘贴 vCard 文本
最多 2,097,152 字符

导出格式
多个号码
表头语言
号码格式

请先添加 .vcf 通讯录文件。

通讯录含他人手机号等个人信息:本工具在浏览器本地解析,联系人内容不会上传到任何服务器。

如何使用VCF 转 CSV/Excel

1

先从手机导出 .vcf 通讯录文件:iPhone 一般在 iCloud 网页版的「通讯录」里全选后导出 vCard,安卓手机一般在「联系人 - 设置 - 导入/导出」里导出到存储设备(下方有各品牌的详细说明)。

2

把 .vcf 拖入本页或点击选择,可一次多选最多 20 个文件;页面会显示共有多少位联系人、多少个手机号,以及跳过了哪些头像或空卡片。

3

勾选需要导出的字段(括号里是有值的人数),选择多个号码「分列」还是「合并到一格」,需要时把号码去掉空格横线、去掉 +86。

4

点「下载 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 文件。不同品牌、不同系统版本的菜单名称会有出入,下面写的是一般位置,找不到时在设置里搜索「导出」即可。

常见手机与通讯录服务导出 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 文件转换工具存在的原因:

  1. Excel 不认 vCard 结构,每个属性挤成一行一列,一位联系人被拆成十几行,没法按人筛选、排序。
  2. 老安卓导出的 2.1 格式把中文写成 Quoted-Printable 编码,Excel 里看到的是一串 =E5=BC=A0,这就是常说的 vcf 乱码。
  3. 一个人有好几个号码时,只能手工把它们挪到同一行,联系人一多根本挪不完。
  4. 就算整理成了 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;;;

一行 Quoted-Printable 姓名的还原过程
片段对应字节还原结果
=E5=BC=A0E5 BC A0(UTF-8)张,填进「姓」列
=E4=B8=89E4 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 属性与表格列的对应关系
vCard 里的属性表格里的列处理方式
FN、N姓名、姓、名没有 FN 时用 N 组合:中文按「姓+名」无空格拼接,英文按「名 姓」
TEL手机、家庭电话、工作电话、传真、其他电话按类型归列,同时标了工作和传真的归传真;4.0 的 tel: 前缀自动去掉
EMAIL邮箱同一人重复的邮箱(大小写不同)只保留一个
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 这样的英文。