Blog Business cards

vCard format: versions, fields and CSV export

The vCard format explained: what changes between versions 2.1, 3.0 and 4.0, what each field means, and how to turn a .vcf file into CSV or Excel.

The vCard format is a plain text standard for contact details: a name, phone numbers, emails, an address, a photo. It exists in three versions still in use, 2.1, 3.0 and 4.0, and a file that holds it usually ends in .vcf. Turning it into CSV or Excel takes one extra step, shown below.

What does a vCard look like?

Open a .vcf file in Notepad or TextEdit and you see something like this:

  • BEGIN:VCARD
  • VERSION:3.0
  • N:Moreau;Lina;;;
  • FN:Lina Moreau
  • ORG:Moreau Studio
  • TITLE:Architect
  • TEL;TYPE=CELL:+15555550123
  • EMAIL:lina@example.com
  • URL:https://example.com
  • END:VCARD

Each line is a name, a colon, then the value. What sits between the name and the colon (here TYPE=CELL) adds detail, such as whether a number is a mobile or a work line. One file can hold many contacts, each between its own BEGIN:VCARD and END:VCARD.

Which vCard version is my file?

Look at the VERSION line near the top. It says 2.1, 3.0 or 4.0. The three versions share the same idea but write some things differently:

VersionPublishedDefined byWhat stands out
2.11996The versit Consortium (not an internet standard)Types written bare, as in TEL;WORK;VOICE. Text is ASCII by default; accents are often coded as quoted-printable, with = signs
3.01998RFC 2426 (IETF)Types written as TYPE=. UTF-8 preferred, no quoted-printable. Both N and FN must be present
4.02011RFC 6350 (IETF)Always UTF-8, with no way to change it. FN must be present, N is optional. New fields such as KIND, GENDER and ANNIVERSARY

In practice:

  • A 2.1 file with strange =C3=A9 signs in the names is quoted-printable text: the codes stand for accented letters, and a contacts app turns them back into letters.
  • A 3.0 file is the middle ground. Contacts on a Mac exports 3.0 by default, and the vCard generator on this site writes 3.0 too.
  • A 4.0 file handles any alphabet without extra coding. If an older program refuses one, try a 3.0 file of the same contact.

What do the fields of a vCard mean?

The fields you meet most often:

  • N is the name in parts, separated by semicolons: family name, given name, middle names, prefix (such as Dr), suffix. N:Moreau;Lina;;; leaves the last three empty.
  • FN is the full name as it should be shown, Lina Moreau.
  • ORG and TITLE are the company and the job title.
  • TEL is a phone number, with a type such as CELL, WORK or HOME.
  • EMAIL is an email address.
  • ADR is a postal address in seven parts, in this order: post office box, extended address, street, city, region, postal code, country. The first two are usually left empty.
  • URL is a website, NOTE a free note, BDAY a birthday.
  • PHOTO is a picture, either written into the file as a long block of letters (base64) or given as a link.

Long lines may be folded: the standard says a line should not pass 75 bytes (an accented letter in UTF-8 takes two), and the rest continues on the next line, which starts with a space or a tab. That matters when you copy a file into a spreadsheet by hand.

How do I convert a vCard to CSV or Excel?

A CSV is a table, one row per contact; a vCard is a list of lines. Three ways to convert, from the easiest:

With Google Contacts (many contacts)

If you have a Google account, Google Contacts can read the vCard and write a CSV:

  1. Import the .vcf file into Google Contacts: on a computer, click Import in the left panel and pick the file. Details are in What is a VCF file and how do you open it?
  2. In Google Contacts, tick the contacts you imported.
  3. At the top right, open More actions (the three dots) and choose Export.
  4. Pick Google CSV (or Outlook CSV if the file is going to Outlook), then click Export.
  5. Open the CSV in Excel, Google Sheets or LibreOffice.

If the account already holds other contacts, tick only the ones that came from your file. Google says imports of more than 3,000 contacts at a time can run into problems, so split a bigger file first.

With Excel alone (one or a few contacts)

Excel can split the lines itself:

  1. Open the .vcf in a text editor and copy all its lines.
  2. Paste them into column A of an empty sheet.
  3. Select column A, then go to Data, Text to Columns, choose Delimited, tick Other and type a colon :.
  4. Click Finish. The field names are now in column A and the values in column B.

Two things to tidy by hand: a web address contains a colon of its own (https:), so it splits into two cells that you join again, and a folded line (one that starts with a space) belongs to the line above. To turn a contact into one row, copy its values and use Paste Special with Transpose.

A comma as the separator does not help: vCard values are split by colons and semicolons, so most lines stay whole in column A.

With a converter website

Many sites convert a .vcf in one click. Before you upload one, remember that the file holds other people's names, numbers and addresses: prefer a tool that works on your computer, or one you already trust.

What is lost when a vCard becomes a CSV?

A CSV has fixed columns, so:

  • The picture is not in it. A CSV holds only text.
  • Several values of one kind (three phone numbers, two emails) are spread over numbered columns, and their types (mobile, work) may not survive.
  • Fields the program does not know may be left out.

Keep the original .vcf: it is the version to send back to a phone later.

How do I make a new vCard?

To write one contact as a vCard, the free vCard generator needs no account, and nothing you type leaves your browser. Type the details, download the .vcf file (version 3.0, with a photo if you add one), and get a QR code of the same contact to print; the code holds the contact without the photo. It makes one contact at a time and does not import a spreadsheet.

Keep reading