Skip to content

How to Convert VCF to CSV using MS Excel

  • Posted on
  • by
  • 5 min read

vCard stands for Virtual Business Card, and like a traditional Business Card it is used for electronic exchange of personal information ranging from the usual name, phone number and email address to less popular categories such as Addresses, Faxes and Websites.

The majority of us however just use it to store contacts, usually a backup so that you can import it in a new phone, an email client like Outlook or an internet service like Google Contacts.

Despite being the standard for this procedure, once in a while you’ll encounter a program or internet service that insists on using another format to import or export contact information.

The usual suspect here tends to be the CSV (Comma Separated Values), which is a simple database format like an Excel Spreadsheet.

As such, you’ve no choice but to convert the existing VCF into a CSV file. In my case I had to do this for a particular dongle software and after some searching I discovered that I could do this offline using Microsoft Excel or online using Google Contacts.

Step 1: Merging Multiple VCFs

If you’ve multiple VCFs rather than one containing multiple vCrads you can concatenate them together into a singleVCF file. Otherwise, you’ll be forced to covert each VCF separately.

To concatenate in Windows, do the following:

  1. Place all the VCFs in one folder.
  2. Launch the command prompt by searching CMD in the Start Menu or launch the run window (Win+R) and type CMD then OK.
  3. In CMD navigate to the folder where the VCFs are located. For example, if they’re inside the folder C:\contacts run:  cd C:\conatcts
    A screenshot showing a command prompt window with some commands.
  4. Next, type the following command and press enter: copy *.vcf contacts.vcf. A single VCF file called contacts.vcf will be saved in the same folder.

Step 2: Convert VCF to CSV using an Excel Macro

  1. Get this Excel VBA Script by Greg Hadlock from SourceForge. The script is actually a Macro Enabled Microsoft Excel Workbook (*.xlsm) that will allow you to import a VCF (version 2.0, 2.1, 3.0 and 4.0) containing multiple vCards (contacts).
  2. The workbook format should be already associated with Microsoft Excel, in which case just double-click to open it. If it’s not associated, launch Excel first, then use the Open dialog to open the file.
  3. When you open the file, you’ll get a security warning that Macros have been disabled. In Excel 2010 and later, click on the Enable Content button to allow this script to run.
    A screenshot showing the Macro warning in Microsoft Excel 2013.
  4. In Excel 2007, click the Options button first, then select Enable this content in the pop-up window.
    A screenshot showing the Macro warning in Microsoft Excel 2007.
  5. Enabling the Macro will launch an Open dialog prompting you to open a VCF file. So navigate to where you have saved your VCF file, select it and click the Open button.
    A screenshot showing a open file dialog with a VCF file selected
  6. Doing that will automatically load and convert the VCF to a CSV file opened in Excel. You’ll then get a pop-up window detailing the number of vCards that have been imported and how long it took, usually just seconds.
  7. However, if the script detects your VCF has empty fields (e.g. Fax, Spouse etc.) it will first prompt you on whether it should delete the associated empty columns in Excel.
    A screenshot showing a warning window from Excel.
    I think the safe choice here is to leave the empty columns as they’re but if you are sure you just need the filled fields go ahead and delete the empty ones.
  8. The converted CSV can now be found inside the folder where the VCF is located, so no need to save it unless you make any changes within Excel. Should you want, you can also save it another Excel format like an Excel Workbook (*.xlsx).

Corrupted Macro Issue

I took the time to test this script on different Excel versions and noticed that on Excel 2010 (Windows) I got a prompt after Enabling Content that the macros in the workbook are corrupted and have been deleted.

A screenshot showing an Excel warning for a corrupt macro.
Corrupt Macro Warning on Excel 2010

I couldn’t get the macro to work in this version. This is however a problem with either my Excel setup or the 2010 version and not the macro as I can confirm that it runs without any issues on the Windows versions of Excel 2007, 2013, 2016 and 2019.

Share:

4 Comments

Leave a Reply

Feel free to share your comments or questions with me. I may not be able to respond immediately so please check later once I've approved your comment.

Your email address will not be published. Required fields are marked *

Kelvin Kathia

Kelvin Kathia is a writer that's passionate about sharing solutions to everyday tech problems. He's the founder and editor of Journey Bytes, a tech blog and web design agency. Feel free to leave him comments or questions regarding this post, or by leaving him a message on the contact page. If you found his content helpful, a donation is much appreciated.