FileKiln

VCF to CSV Converter

Convert a .vcf vCard file to a clean CSV or Excel contact list - names, phones, emails, addresses - entirely in your browser. Your contacts never leave your machine.

Ready when you arevcf → csv

Runs on your computer. Nothing gets uploaded.

Your stuff stays yours. Your file is opened with JavaScript inside this page. It is never transmitted, and the tool keeps working with the network unplugged.

A contact export is a strange file to be casual about: it isn't just your data, it's everyone you know - their numbers, their emails, their home addresses - in one portable blob. The web's usual VCF-to-CSV converters ask you to upload exactly that. This page doesn't: the vCard format is parsed by JavaScript in your tab, each card becomes a spreadsheet row, and the CSV or Excel file you download is assembled in browser memory. Load the page, unplug the network, convert - it works, because nothing was ever going to be sent.

The parser reads what phones and mail clients actually export: vCard 3.0 and 4.0, and the old 2.1 flavor with its quoted-printable encoding that trips most quick scripts. Multiple phones and emails per contact land in numbered columns rather than being silently dropped, and the preview table shows every row before you download.

How to use the VCF to CSV converter

  1. Click Choose a .vcf contacts file, or drag the file onto the drop area. One file can hold a single card or thousands.
  2. Check the status line for the number of contacts parsed, then review the preview table. It shows the first 200 contacts. Both downloads include all of them.
  3. Click Download CSV or Download Excel (.xlsx). Both files are named after your original with -contacts added.

The columns are Name, First, Last, Phone 1 and up, Email 1 and up, Organization, Title, Address, Birthday, URL, and Note. The number of phone and email columns matches the contact with the most entries, up to three of each.

How vCard stores a contact

A vCard is plain text between BEGIN:VCARD and END:VCARD. Each line is a property in the form NAME;PARAMETERS:VALUE, and long lines are folded onto the next line starting with a space. Some properties have several parts separated by semicolons:

  • N holds family name, given name, additional names, prefixes, and suffixes, in that order. The converter uses the first two parts for Last and First.
  • ADR holds PO box, extended address, street, city, region, postal code, and country. The converter joins the non-empty parts with commas.
  • ORG holds the organization and then department units. The converter keeps the organization only.

Three versions are in common use, and they differ in ways that break simple scripts:

  • 2.1 (older phones and Outlook): bare type labels like TEL;CELL:, a CHARSET parameter, and ENCODING=QUOTED-PRINTABLE for accented text, where ü is written =C3=BC.
  • 3.0: labels written as TYPE=, and QUOTED-PRINTABLE is no longer allowed.
  • 4.0: UTF-8 only, and values may be URIs, like tel:+1-555-010-2233. A birthday can leave out the year, as in --0415 for April 15.

Apple exports also group lines, such as item1.EMAIL with a custom label on item1.X-ABLabel. The converter strips the group prefix and the tel: and mailto: prefixes. Type labels such as home, work, or cell are not exported, and only the first address, URL, and note on each card are kept.

Worked example

BEGIN:VCARD
VERSION:4.0
FN:Dana Ruiz
N:Ruiz;Dana;;;
ORG:Northwind Traders;Sales
TITLE:Account Manager
TEL;TYPE=work,voice;VALUE=uri:tel:+1-555-010-2233
TEL;TYPE=cell:+1 555 010 9988
EMAIL;TYPE=work:dana@northwind.example
ADR;TYPE=work:;;120 Pine St;Portland;OR;97204;USA
BDAY:--0415
NOTE:Met at expo\, booth 12
END:VCARD

The CSV row is:

Dana Ruiz,Dana,Ruiz,'+1-555-010-2233,'+1 555 010 9988,dana@northwind.example,Northwind Traders,Account Manager,"120 Pine St, Portland, OR, 97204, USA",'--0415,,"Met at expo, booth 12"

The Sales department is dropped, the escaped comma in the note is restored, and the URL cell is empty.

Common problems and fixes

  • Phone numbers and birthdays start with an apostrophe. Cause: the CSV writer puts an apostrophe before any cell that starts with +, =, @, or a non-numeric -, so a spreadsheet cannot run it as a formula. Fix: use Download Excel (.xlsx), which stores those values as plain text without the apostrophe.
  • A contact's fourth phone number or email is missing. Cause: the export has at most three phone and three email columns. Fix: for that contact, copy the extra entries from the .vcf by hand.
  • A note or address from an old phone stops after its first line. Cause: vCard 2.1 quoted-printable values continue onto the next line when a line ends in =, and the converter does not join those lines. Fix: in a copy of the file, delete each line break that follows a trailing =, then convert again.
  • Accented names come out garbled. Cause: a 2.1 file saved in a legacy encoding such as Windows-1252 without quoted-printable. The file is read as UTF-8, and CHARSET is only applied to quoted-printable values. Fix: re-save the file as UTF-8 in a text editor.
  • Some cards are missing from the count. Cause: cards with no name, phone, or email, such as an address-only entry, are skipped. Fix: add a name to those cards if you need them.

Related tools

Merged exports from two phones often repeat people. Paste the CSV into Remove Duplicate Lines to drop rows that are exact copies, or turn it into structured data with the CSV to JSON converter.

Questions this tool gets asked

How do I convert a VCF file to CSV?

Drop the .vcf on this page. Every contact card is parsed in your browser - name, phones, emails, organization, address, birthday - shown in a table for review, and downloaded as CSV or Excel. The file is never uploaded.

Are my contacts uploaded to convert them?

No - never. A contact list is other people's personal data as much as yours, which is why this tool runs entirely as JavaScript in your tab. There is no upload endpoint on this site. Load the page, go offline, and it still converts.

Does it handle exports from iPhone, Android, and Outlook?

Yes - those all export vCard. The parser reads vCard 2.1 (including its quoted-printable encoding), 3.0, and 4.0, single-contact files and combined files with hundreds of cards alike.

Can I open the result in Excel or Google Sheets?

Yes - the CSV opens directly in both, and the Excel button downloads a real .xlsx workbook. Multiple phones and emails per contact land in numbered columns so nothing is silently dropped.

Why is CSV useful for contacts?

CSV is the format address books, CRMs, and mail tools import - and the format you can actually read, dedupe, and clean in a spreadsheet. vCard is for syncing; CSV is for working with the data.

Google Contacts imports VCF directly - when do I need CSV instead?

When the destination isn't an address book: a CRM import template, a mail-merge sheet, an invite list, a backup you can actually read, or any cleanup job (deduping, fixing formats) that wants a spreadsheet. If you're only moving contacts phone-to-phone, use the VCF as-is; the moment you need to see or edit the data, convert here.

Related tools