Contacts to Excel

Convert a .vcf file to CSV or Excel

Drop it below. Your browser does the work and hands the spreadsheet straight back, so the address book inside the file never leaves this tab.

Your .vcf file

BEGIN:VCARD
VERSION:3.0
N:Vaduva;Adriana;;;
ORG:Cartografia Vaduva;Survey
item1.TEL;type=pref:+40 21 555 0114
item1.X-ABLabel:_$!<Mobile>!$_
item2.TEL:+40 21 555 0192
item2.X-ABLabel:darkroom
EMAIL;type=INTERNET;type=WORK:adriana@example.ro
ADR;type=WORK:;;Strada Lipscani 24;Bucharest;;030167;Romania
NOTE:Prints the large-format maps. Call the darkroom line after
  six in the evening.
BDAY:1981-06-14
END:VCARD
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:Sk=C3=B6ld;Elias;;;
ORG;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:Sk=C3=B6ld Segelmakeri
TEL;CELL:+46 8 555 0163
EMAIL;INTERNET:elias@example.se
ADR;WORK:;;Skeppsbron 8;Stockholm;;111 30;Sweden
END:VCARD
BEGIN:VCARD
VERSION:4.0
FN:Kettle Row Hardware
ORG:Kettle Row Hardware
TEL;TYPE=work:+1 503 555 0128
EMAIL:orders@example.com
ADR;TYPE=work:;;918 Kettle Row;Portland;OR;97209;USA
END:VCARD

What comes out. 18 columns, scroll sideways

First nameLast nameCompanyDepartmentPhone 1Phone 1 TypePhone 2Phone 2 TypeEmailEmail TypeAddress TypeStreetCityStateZIPCountryBirthdayNote
AdrianaVaduvaCartografia VaduvaSurvey+40 21 555 0114mobile+40 21 555 0192darkroomadriana@example.roworkworkStrada Lipscani 24Bucharest030167Romania1981-06-14Prints the large-format maps. Call the darkroom line after six in the evening.
EliasSköldSköld Segelmakeri+46 8 555 0163mobileelias@example.seworkSkeppsbron 8Stockholm111 30Sweden
Kettle Row Hardware+1 503 555 0128workorders@example.comwork918 Kettle RowPortlandOR97209USA

A sample card is shown. Drop your own .vcf anywhere on this panel, or choose it.

Three cards are shown above: one exported by an iPhone, one by an old phone that still writes quoted-printable, one with a company and no person at all. All three land in the same table. The converter is one readable file if you want to check that it never sends your contacts anywhere.

Why the file is not uploaded

An online converter that runs on a server needs your file on that server. That is not a criticism of anyone's security, it is just what the words mean: to convert it there, they have to receive it there. For a holiday photo nobody minds. A .vcf exported from a phone is different. It is every person you know, their numbers, their home addresses and often their birthdays, in one plain text file.

This page converts nothing on a server, because it has no server side at all. The parser is served to your browser as an ordinary script and runs on your machine, the same way a spreadsheet program does. Put the machine in airplane mode before you drop the file and it still works, which is the simplest proof there is.

One value per column

This is where most conversions fall over. A contact is not flat. It has several phone numbers, each with a label, an address made of five separate parts, more than one email, and a company that may also carry a department. Flatten that badly and you get one cell holding +40 21 555 0114, +40 21 555 0192, which no mail merge and no import can use.

  • Every phone number gets its own column, and its own label column beside it. Three numbers means three pairs of columns, not one crowded cell.
  • Addresses split into street, city, state, ZIP and country.
  • Custom labels are kept as they were written. The middle number in the sample above is labelled darkroom, because that is what its owner called it.
  • Every cell is written as text, so 030167 keeps its leading zero and a number starting with + is not read as arithmetic.
  • Columns are added only when some contact needs them, so a book with no birthdays has no empty birthday column.

Which files work

vCard 2.1, 3.0 and 4.0, which covers everything a phone, a mail client or a CRM exports today and most of what they exported fifteen years ago. Several files at once is fine: pick them together and they land in one table.

The awkward parts of the format are handled rather than ignored, because they are what breaks other converters:

  • Quoted-printable text. Older phones write Sk=C3=B6ld instead of Sköld. Decoded, not passed through.
  • Folded lines. The specification wraps long values onto the next line with a leading space. The note in the sample above is folded, and comes out as one sentence.
  • Apple's separate labels. An iPhone writes the label of a number on its own line, tied to the number by an item1. prefix, and hides the common ones inside _$!<Mobile>!$_. Both are read.
  • Contacts with no person. A company with no first or last name keeps its row.

Photos are ignored, because a spreadsheet has nowhere to put them.

Questions

Is there a limit on how many contacts?

No limit is imposed here. It is your own machine doing the work, so the ceiling is your browser's memory rather than somebody's upload cap. Files of several thousand contacts are ordinary.

Will Excel open the .xlsx directly?

Yes. It is a real workbook, not a CSV with the wrong extension, and it opens in Excel, Numbers and Google Sheets. The CSV is UTF-8 with the byte-order mark Excel wants, so accented names survive a double click on Windows.

Can I import the result into Google Contacts or Outlook?

You can, but both want their own column names, and this page writes readable headers rather than theirs. If you need a file that imports without renaming anything, that is what the iPhone app does.

Do you keep the file, or count what is in it?

Neither, and there is nothing to keep it with. The page counts visits with a cookieless counter and nothing else. Dropping a file, converting it and downloading the result send no event of any kind. The privacy page says exactly what is recorded.

The file has to come from somewhere

Getting a .vcf out of an iPhone takes a computer. The four routes, and what each one costs you, or skip the file entirely and export from the phone itself.

Download on the App Store

Free for 25 contacts. $6.99 once. No subscription.