By Updated 6 min read

How to Convert VCF to CSV for Excel

Convert VCF (vCard) contacts to CSV and open them in Excel. Real conversions of sample files in the iPhone, Android and Google Contacts export formats, what the CSV keeps and drops, keeping the leading zeros on phone numbers, and turning a CSV back into a VCF.

A VCF (vCard) file stores contacts as blocks of text, one block per person, so opening it in Excel does not give you a table. To work with your contacts as rows and columns, convert the file to CSV.

For this guide, we wrote sample VCF files that mimic how an iPhone, an Android phone and Google Contacts export contacts, ran them through the OpenedFile VCF to CSV Converter, and printed the CSV that came out, unedited. Everything below — what goes into the CSV, what is left out, and where Excel trips you up — is explained against that real output.

Converting in three steps

Screenshot of the OpenedFile VCF to CSV converter showing a parsed contact list with names, email addresses, phone numbers and organizations ready to export.
Screenshot Contacts parsed out of a .vcf file and ready to export as CSV.
  1. Add the file — Open the VCF to CSV Converter and drag your .vcf file onto the page, or click to choose it. A file with one contact and a single file holding your whole address book both work. The tool reads one file at a time.
  2. Check what was read — The contacts the tool found are listed. The “N contacts found” line above the list is the number of rows your CSV will have, not counting the header row.
  3. Download the CSV — Press “Download CSV” and contacts.csv is saved.

Reading the file and building the CSV both happen inside your browser. Your contacts are not sent to a server.

What a real conversion looks like

Every app writes vCards slightly differently. The three samples below imitate each app's export format (the people are fictional).

Exported from an iPhone

This is vCard 3.0. Email and address lines may carry a prefix such as item1.. The second contact has no name and no email address, only a phone number.

BEGIN:VCARD
VERSION:3.0
PRODID:-//Apple Inc.//iPhone OS 18.0//EN
N:Carter;Emily;;;
FN:Emily Carter
ORG:Sample Trading;Sales;
TEL;type=CELL;type=VOICE;type=pref:(555) 010-2345
TEL;type=WORK;type=VOICE:+1 555 010 6789
item1.EMAIL;type=INTERNET;type=pref:emily@example.com
item1.X-ABLabel:Work
item2.ADR;type=HOME;type=pref:;;12 Example St;Springfield;IL;62701;United States
item2.X-ABADR:us
BDAY:1990-04-01
NOTE:Notes do not reach the CSV
END:VCARD
BEGIN:VCARD
VERSION:3.0
TEL;type=CELL:555-010-0000
END:VCARD

Exported from Android's built-in Contacts app

This is vCard 2.1. Every letter of the name, accented or not, is written in an encoding called QUOTED-PRINTABLE (=4A is “J” and =C3=A9 is “é”), which is hard to read in a text editor.

BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=4D=61=72=74=C3=AD=6E=65=7A;=4A=6F=73=C3=A9;;;
FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=4A=6F=73=C3=A9=20=4D=61=72=74=C3=AD=6E=65=7A
TEL;CELL:07700900456
EMAIL;HOME:jose@example.org
END:VCARD

Exported from Google Contacts

BEGIN:VCARD
VERSION:3.0
FN:Daniel Lee
N:Lee;Daniel;;;
EMAIL;TYPE=INTERNET;TYPE=WORK:daniel@example.com
EMAIL;TYPE=INTERNET;TYPE=HOME:dan.lee@example.net
TEL;TYPE=CELL:+44 7700 900123
ADR;TYPE=WORK:;;1 Sample Road;London;;SW1A 1AA;United Kingdom
ORG:Sample Works
CATEGORIES:myContacts
END:VCARD

The CSV that came out

With all three combined into one file, the tool showed “3 contacts found” and downloaded this contacts.csv (printed exactly as it came out):

Name,Email,Phone,Address,Organization
Emily Carter,emily@example.com,(555) 010-2345; +1 555 010 6789,12 Example St Springfield IL 62701 United States,Sample Trading Sales
José Martínez,jose@example.org,07700900456,,
Daniel Lee,daniel@example.com; dan.lee@example.net,+44 7700 900123,1 Sample Road London SW1A 1AA United Kingdom,Sample Works

Laid out as a table, the same CSV looks like this:

NameEmailPhoneAddressOrganization
Emily Carteremily@example.com(555) 010-2345; +1 555 010 678912 Example St Springfield IL 62701 United StatesSample Trading Sales
José Martínezjose@example.org07700900456
Daniel Leedaniel@example.com; dan.lee@example.net+44 7700 9001231 Sample Road London SW1A 1AA United KingdomSample Works

What this shows:

  • The VCF holds four people, but the CSV has three rows. The phone-only contact has neither a name nor an email address, so it is left out.
  • Android's =4A=6F=73=C3=A9 has been turned back into “José”.
  • When someone has two phone numbers or two email addresses, both go into one cell, joined by “; ” (a semicolon and a space).
  • The address is one cell, in the order street, city, region, postal code, country. The empty region in the UK address is simply skipped.
  • José's phone number is written as digits only, with no spaces or dashes. That is the form that loses its leading zero in Excel (see below).
  • The birthday, the note, labels such as “Work” and the group (CATEGORIES) are not in the CSV.

What the CSV keeps and what it drops

The tool writes five columns. This is where each one comes from in the vCard:

CSV columnvCard propertyHow it is built
NameFN (or N)If there is no FN, the parts of N joined with spaces, family name first (“Carter Emily”)
EmailEMAILSeveral are joined with “; ”
PhoneTELSeveral are joined with “; ”. The type (mobile, work, home) is not kept
AddressADRThe non-empty parts joined with spaces, in the order PO box, extended address (apartment, building), street, city, region, postal code, country. Several addresses are joined with “; ”
OrganizationORGCompany and department joined with a space

Nothing else goes into the CSV: no photos, notes, birthdays, job titles, phonetic names, websites or groups. If you need those, importing the VCF itself into your contacts app or Google Contacts is the safer route.

A contact with neither a name (FN or N) nor an email address does not become a row. If contacts saved with only a phone number are missing from the CSV, this is why.

vCards from older phones that declare their character set, such as CHARSET=SHIFT_JIS or CHARSET=GBK, are read in that character set. A vCard written in such a character set without declaring it is read as UTF-8, so names and other text come out garbled. Whatever the source file uses, the CSV is written in UTF-8.

Opening the CSV in Excel (encoding and leading zeros)

Garbled characters are unlikely

The CSV is UTF-8 with a BOM (byte order mark) at the start. Microsoft's support article says “You can open a CSV file encoded with UTF-8 normally if it was saved with BOM”, so double-clicking the file normally shows names such as “José” correctly.

If the characters still come out garbled, import the file instead of double-clicking it. In Excel, go to Data > From Text/CSV, choose the CSV, set File Origin in the preview to “65001: Unicode (UTF-8)”, then press Load. This is the Power Query route Microsoft's article gives for UTF-8 files without a BOM. Why a CSV Opens Garbled in Excel, and Three Ways to Fix It goes through it in more detail.

Phone numbers lose their leading zero

A cell that holds a single phone number written only in digits, like José's 07700900456 in the sample, is read by Excel as a number, and the leading zero is dropped. A number containing dashes, or a cell where two numbers are joined by “; ”, is not read as a number, so its leading zero stays. Whether a number has dashes or spaces depends on how it was saved in the original contacts app; the tool does not change it. There are two ways to keep the zero:

  • Microsoft 365 and Excel 2024 — Go to File > Options > Data and, under Automatic Data Conversion, clear “Remove leading zeros and convert to number” before opening the CSV (on a Mac: Excel > Preferences > Edit). According to Microsoft, this conversion also runs when you open a .csv file, and it is on by default.
  • Excel 2016 and later (on a Mac: Microsoft 365 and Excel 2024) — Use Data > From Text/CSV and choose the file. In the preview, set Data Type Detection to “Do not detect data types” and press Load: every column comes in as text. To make only the phone column text, press Transform Data instead, select the phone column in the Power Query editor and set Data Type to Text (if a Change Column Type prompt appears, choose Replace Current). Then press Close & Load.

If you double-clicked the file without changing that setting, the zeros were dropped the moment it opened. Changing the cell format to text afterwards will not bring them back, so close the file without saving and open it again using one of the methods above.

Opening the CSV in Google Sheets

  1. Create a new spreadsheet in Google Sheets.
  2. Go to File > Import and choose contacts.csv.
  3. Set Separator character to Comma (or Detect automatically) and click Import.

UTF-8 text shows up correctly. After importing, check that phone numbers written only in digits still have their leading zero.

Getting a VCF of your iPhone contacts

You can export your contacts to a VCF from the Contacts app on the iPhone itself. These are the steps in Apple's iPhone User Guide:

  1. Open the Contacts app and tap the Lists button.
  2. Touch and hold the list you want to export.
  3. Tap Export, select the fields you want to include, then tap Done.
  4. Choose a way to send or save the exported contact cards, such as Messages or Mail.

If you would rather work on a computer, you can use iCloud.com in a browser. According to Apple, Contacts on iCloud.com gives you the contacts you store in iCloud, and you need to be on a tablet or computer to use it. The steps on Apple's support page are:

  1. Go to icloud.com/contacts and sign in to your Apple Account.
  2. Select the Actions button at the top of the list, then choose Select All Contacts. (For only some contacts, hold Command on a Mac or Control on Windows and click each one.)
  3. Select the Share button on the right, then choose Export vCard.

On iCloud.com, selecting several contacts exports them all in a single vCard file. Whichever method you use, drop the exported file into the converter to get your CSV.

Turning a CSV back into a VCF

This site's tool only converts from VCF to CSV. To go the other way, you can pass the CSV through Google Contacts:

  1. Rename the first row (the headers) to names Google Contacts understands. The sample template in Google's help uses, for example, First Name and Last Name for the given and family names, Email 1 - Value for the email address, Phone 1 - Value for the phone number and Organization Name for the company. Split the name into those two columns; if you put the whole name in First Name, all of it becomes the first name. Put a second email address or phone number in an added column such as Email 2 - Value, and split the address into its own columns such as Address 1 - Street and Address 1 - City (this tool joins the address parts with spaces, so you have to split them by hand). If you edit the file in Excel, open it with one of the methods under “Phone numbers lose their leading zero” so the zeros stay, then save it as “CSV UTF-8 (Comma delimited)”. Opening it by double-click without first turning off that Automatic Data Conversion option, then saving, puts the numbers into Google without their zeros.
  2. On a computer, open Google Contacts. On the left, click Import > Select file, choose the CSV and click Import.
  3. Check the boxes next to the imported contacts, click More actions at the top right, choose Export and pick vCard as the format.

Google's help explains that the headers decide where each piece of information is saved, so do not delete them, and that if a detail seems to be missing after the import, you should check the notes section of that contact. If you have more than 3,000 contacts, split them into several CSV files before importing.

Going back from a CSV made by this tool will not restore what the CSV never had: photos, notes, birthdays and phone types stay lost. If you still have the original VCF, import that instead — Google Contacts accepts vCard files directly.

Summary

  • Drop your file into the VCF to CSV Converter and press “Download CSV” to get contacts.csv. Nothing leaves your browser.
  • The CSV has five columns: name, email, phone, address and organization. Multiple values share one cell, joined by “; ”, and photos, notes and the like are not included.
  • Because it is UTF-8 with a BOM, Excel normally shows the text correctly. The thing to watch is the leading zero on phone numbers written only in digits.

Frequently asked questions

The conversion produced no contacts at all.
The file may not be a vCard. Open it in a text editor and check that the first line is BEGIN:VCARD. If it is not, the export from the contacts app probably failed part-way, or the file is another format entirely. Even a real vCard shows nothing if none of its contacts has a name or an email address; the tool then says “No contacts with a name or an email address were found in this file.”
Why does the CSV have fewer rows than the VCF has contacts?
A contact with neither a name nor an email address — one saved with only a phone number, for example — is skipped rather than written as a row. The count the tool shows on screen is the number of rows in the CSV, not counting the header row.

About the author

Ren

Developer, OpenedFile

I build and maintain OpenedFile on my own. It started when a winmail.dat attachment landed in my inbox and nothing would open it — and every online converter I found wanted me to upload the file to their server first. So I wrote a TNEF parser from scratch instead, and every tool here has run entirely in the browser ever since.

More about OpenedFile