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 kind of thing 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 is 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 with the help of Microsoft Excel and a nifty Macro.
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:
4. Next type the following command and press enter:
copy *.vcf contacts.vcf
You should now have single VCF file called contacts.vcf located in the same folder.
Export VCF to CSV using Ms Excel
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.
In Excel 2007, click the Options button first then select Enable this content in the pop-up window.
Since I took the time to test this script on different Excel versions, I should mention that with Excel 2010 (Windows) I got a prompt after Enabling Content that the macros in the workbook are corrupted and have been deleted.
So, no way to use it there. Oddly enough, the script worked just fine with Excel 2007, 2013 and 2016 (Windows).
4. 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.
5. 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.
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.
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.
6. 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).