By Updated 8 min read

What Is a VCF File? vCard Versions, Fields and How to Open One

A .vcf file is a vCard: contact cards written as plain text. What the lines mean, how vCard 2.1, 3.0 and 4.0 differ (character sets, quoted-printable), what Apple, Android and Outlook export, and what to do with the file.

Just want to see who is in the file?

The VCF to CSV converter lists the names, email addresses, phone numbers, addresses and companies in a .vcf, and saves them as a CSV that opens in Excel.

Open the VCF to CSV converter

The file is read in your browser; it is not uploaded.

A .vcf file is a vCard: one or more contact cards written as plain text. Each card starts with the line BEGIN:VCARD and ends with END:VCARD, and each line in between holds one piece of the contact, such as the name, a phone number or an email address.

The iPhone, Android's Contacts app, Google Contacts, iCloud and Outlook all write or read contacts as vCards. The version they write differs, and so does the way they store accented letters and non-Latin scripts; either difference can stop a file from importing or garble the names in it.

What is inside a .vcf file

Open a .vcf in a text editor and you see something like this (a made-up contact in vCard 3.0):

BEGIN:VCARD
VERSION:3.0
N:Tanaka;Yuki;;;
FN:Yuki Tanaka
ORG:Example Trading\, Inc.;Sales
TEL;TYPE=CELL:+81 90-1234-5678
EMAIL;TYPE=INTERNET:yuki@example.com
ADR;TYPE=WORK:;;1-2-3 Marunouchi;Chiyoda-ku;Tokyo;100-0005;Japan
END:VCARD

Every line has the form PROPERTY;parameters:value. The property name says what the line is (TEL is a phone number), the parameters after the semicolons qualify it (TYPE=CELL: a mobile number), and the value comes after the colon. A file with several contacts is simply several of these blocks one after another.

LineHolds
VERSIONThe vCard version: 2.1, 3.0 or 4.0
FNThe name as it should be displayed
NThe name in five parts separated by semicolons: family name, given name, additional names, prefixes, suffixes
TELA phone number; TYPE says what kind (cell, voice, fax, pager and others)
EMAILAn email address
ADRA postal address in seven parts: PO box, extended address (apartment or suite), street, city, region, postal code, country
ORGThe organization, followed by any departments
NOTE, BDAY, PHOTOA note, the birthday, and a photo (embedded as text-encoded data or given as a link)

A few rules explain the odd-looking parts of real files:

  • Escaping. A comma or semicolon that belongs to the value is written with a backslash in front, which is why the company above reads Example Trading\, Inc.. An unescaped semicolon in N, ADR or ORG separates the parts.
  • Folding. Long lines are cut, and the continuation line starts with a space or a tab. RFC 6350 recommends folding at 75 bytes, so an embedded photo turns into many short lines of letters, digits and a few symbols.
  • Groups. A prefix such as item1. in front of a property name (item1.EMAIL) is a group. RFC 6350 says lines with the same group should be shown together and that the prefix has no other meaning.

Source: RFC 6350 (vCard 4.0), sections 3.2 to 3.4 and 6.

vCard 2.1, 3.0 and 4.0

The VERSION line tells you which one you have. In vCard 4.0 it must come right after BEGIN:VCARD. RFC 6350 (section 6.7.9) notes that earlier versions allowed it anywhere in the card, or not at all. Only 2.1 allowed it to be missing: RFC 2426 (section 3.6.9) already required it in 3.0.

2.13.04.0
PublishedSeptember 1996, by the versit Consortium (founded by Apple, AT&T, IBM and Siemens)September 1998, as RFC 2426August 2011, as RFC 6350
Character setASCII by default; any value can name its own with CHARSET=No CHARSET on a value; the character set can only be given on the Content-Type header of the message carrying the fileUTF-8 only, with no way to override it
Quoted-printableAllowed (ENCODING=QUOTED-PRINTABLE)RemovedNot available
Other differencesTYPE= may be left out (TEL;CELL:)TYPE= required; N and FN both required; line breaks in a value written as \nFN required; new properties such as KIND (person, group, organization or location) and ANNIVERSARY; TEL can be a tel: link

Sources: the vCard 2.1 specification (copy kept by the Internet Archive), RFC 2426 sections 3.1.1 and 3.1.2 (FN and N required) and section 5 ("Differences From vCard v2.1"), and RFC 6350 sections 6.2.1 (FN required) and 6.4.1 (tel: in TEL) and Appendix A.

What Apple, Android, Google and Outlook export

  • Contacts on Mac — vCard 3.0 by default. Under Contacts > Settings > vCard you can switch to 2.1 and pick the encoding used for 2.1, and choose whether notes and photos are exported.
  • iPhone and iCloud.com — The iPhone exports "contact cards" from a list in the Contacts app and imports a .vcf when you tap it in an email or message. iCloud.com exports and imports vCards, and puts every selected contact into one file. Apple's help for these does not name a version.
  • Android — Google's Contacts app has Fix & manage > Export to file > Export to .VCF file; the help does not name a version. The vCard code in the Android Open Source Project (AOSP) exports vCard 2.1 by default, with UTF-8 text, and writes any name containing non-ASCII characters in quoted-printable (next section).
  • Google Contacts on a computer — Google's help says to "download them as a CSV or vCard file" when moving contacts to another account.
  • Outlook (Windows) — Outlook sends contacts as vCards attached to a message (Forward Contact > As a Business Card). Exporting a whole contacts folder goes to a .csv file instead. To bring a .vcf holding many contacts into Outlook on a PC, Microsoft's instructions first convert it to CSV through the Windows Contacts folder.

Sources: Apple's "Change vCard settings in Contacts on Mac", "If an app can’t import vCards into Contacts on Mac", "Export contacts on iPhone", "Import contacts on iPhone" and "Import, export, or print contacts on iCloud.com"; Google's "Export, back up, or restore contacts"; AOSP's VCardConfig.java (VCARD_TYPE_DEFAULT = VCARD_TYPE_V21_GENERIC) and VCardBuilder.java; Microsoft's "Share contacts as vCards" and "Import contacts from iCloud (vCard .vcf file) to Outlook". Where the help names no version, the VERSION line in the file itself tells you.

Accented and non-Latin names: quoted-printable and CHARSET

vCard 2.1 assumes ASCII, so anything else has to be declared. This is a name written the way AOSP's exporter writes one:

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
END:VCARD

ENCODING=QUOTED-PRINTABLE means each byte is written as = and two hexadecimal digits, and CHARSET=UTF-8 says how to turn those bytes into letters: =C3=A9 is "é", so the name is José Martínez. AOSP's code escapes every byte this way, even plain letters, and ends a line with = when a long value continues on the next line. In a text editor such names are unreadable, but nothing is broken.

A 2.1 file can also name an older character set, such as CHARSET=SHIFT_JIS (Japanese) or CHARSET=GBK (Chinese). AOSP has an export type for Japanese mobile phones whose code comment says Shift_JIS would be better "for maximum compatibility". Problems start when a file stores text in such a character set without saying so: a program reading it as UTF-8 shows replacement characters (�) instead of the name.

vCard 3.0 dropped both CHARSET on a value and quoted-printable, and 4.0 allows only UTF-8, so a 3.0 or 4.0 file should have names written as they are, like the first example on this page.

What to do with a .vcf file

  • Add the contacts to a phone — On an iPhone, tap the .vcf attachment in an email or message. On Android, Google's Contacts app imports it from a file. The full steps for both, and other ways to move contacts, are in How to Transfer Contacts Between Phones.
  • Add them on a computer — iCloud.com imports a vCard with Import Contact, turning each person in it into a separate entry. For Outlook on a PC, Microsoft's route goes through CSV (see above).
  • Open them in Excel or Google Sheets — Convert to CSV first. How to Convert VCF to CSV for Excel shows real conversions and how to keep the leading zeros on phone numbers.
  • Check who is in the file — Before importing, or when someone sent you a .vcf you did not expect, drop it into the VCF to CSV converter to see the list.

What this site's converter reads

Screenshot of the VCF to CSV converter showing parsed contacts with names, emails and phone numbers.
Screenshot A .vcf read as a contact list, ready to save as CSV.

The VCF to CSV converter reads the file inside your browser. What it handles:

  • vCard 2.1, 3.0 and 4.0, including several cards in one file and files joined together
  • Quoted-printable values, including the = line continuations, and values in the character set their CHARSET names (UTF-8, Shift_JIS, GBK and others the browser knows)
  • Folded lines, backslash escapes, group prefixes such as item1., and files saved as UTF-16

The CSV holds five columns: name, email, phone, address and organization. (On a phone-sized screen, the on-page list leaves out the address and organization columns.) The name is taken from FN, or from N when there is no FN. When a contact has two phone numbers or email addresses, both go in one cell separated by "; ". The CSV is saved as contacts.csv, in UTF-8 with a byte order mark.

What it does not do:

  • Contacts with neither a name nor an email address (a phone number only, for example) are left out, and the page says so if that leaves nothing.
  • Photos, notes, birthdays, labels and other properties are not put in the CSV.
  • A vCard 4.0 phone number written as a link keeps its prefix: tel:+81-90-1234-5678.
  • Text in an older character set with no CHARSET anywhere in the file is read as UTF-8 and shows �, with no warning. (If other values in the file declare one character set, that is used for the undeclared ones.)

Frequently asked questions

Is this the same VCF as the Variant Call Format used in genomics?
No. They share the abbreviation and the .vcf extension, but the genomics format holds tab-delimited data about genetic variants, and its specification requires the first line to be a ##fileformat= line such as ##fileformat=VCFv4.5. A contacts file has BEGIN:VCARD instead. The converter on this site says a genomics VCF is not a vCard.
How many contacts can one .vcf file hold?
The format sets no number. RFC 6350 defines the contents as one or more vCards, one after another. iCloud.com puts every contact you select into a single vCard file when it exports, and when it imports a vCard that contains several people, each becomes a separate entry (Apple).
An app will not import the vCards I exported from Contacts on my Mac.
Apple says Contacts exports vCard 3.0 files and that some apps do not accept that format. Its fix: in Contacts, choose Contacts > Settings, click vCard, select the 2.1 format and export again (changing the encoding if needed), then set the format back to 3.0.
Excel shows the whole file in one column.
A vCard is not comma-separated, so Excel has nothing to split on. Convert it to CSV first; the steps are in How to Convert VCF to CSV for Excel.

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