To convert VCF to Excel free, import the file at contacts.google.com, select the contacts, export as Google CSV and open that CSV in Excel, then save it as .xlsx. Opening the VCF straight in Excel shows raw text lines rather than a contact table, so a conversion step is always part of the job. For large files, photos and batch work, VCF to Excel converter software such as the Univik VCF Converter maps every vCard field to its own column in one run and keeps the data offline.
A VCF file holds contacts. Excel holds tables. The moment you need to sort 800 contacts by company, run a mail merge or hand HR a directory, the VCF has to become a spreadsheet, and there is no built in path between the two. Excel cannot read vCard structure, and a VCF cannot be filtered.
We have built contact conversion tools at Univik since 2013, and VCF to Excel is the request that comes with the most damaged results attached. Phone numbers turned into scientific notation. Names with accents turned into question marks. Three phone numbers collapsed into one. This guide covers four working methods, converter software, a free Google Contacts route, Power Query and a Python script, and the fixes for every one of those failures.
Why Convert VCF to Excel
A VCF stores each contact as text between BEGIN:VCARD and END:VCARD markers, one property per line. That structure moves contacts between phones and mail apps well and falls apart the moment you need to work with the data. You cannot sort it, filter it, deduplicate it or feed it to a mail merge.
Excel turns the same data into one row per contact and one column per field. From there you sort by last name, filter by company, remove duplicates through the Data tab, build a pivot table by location or hand the sheet to anyone. The PROPER function even fixes names stuck in capitals. Excel also sits in the middle of most migrations. Moving contacts from an old Android phone or Thunderbird into a CRM runs cleanest as VCF to Excel to the target system, because the spreadsheet stage is where you clean and validate before the final import.
Two things change in the move. Embedded contact photos have no home in a spreadsheet cell, so they either drop or need a converter that saves them out as image files. And fields that repeat, a contact with three phone numbers on three TEL lines, have to spread across separate columns such as Mobile Phone and Work Phone, which good tools handle for you and manual routes leave to you.
How to Open a VCF File in Excel (and Why It Looks Wrong)
You can open a VCF file in Excel directly, and the result is not a contact list. Excel reads the file as plain text and puts each line in its own row, so you get BEGIN:VCARD, VERSION:3.0, FN:John Doe and TEL lines stacked down column A. Every property tag sits mixed in with the data, and one contact spans a dozen rows.
That is Excel behaving correctly. A VCF is not tabular, so there is nothing for Excel to arrange into columns. To open VCF contacts in Excel as an actual table, the file has to be converted first, and any of the four methods below gets you there. If Excel refuses the file entirely or shows encoding garbage instead of text, that is a different problem, and our guide on VCF files not opening in Excel covers the repair side.
Outlook works as a bridge too, and it is the route Microsoft’s own forums point to. Classic Outlook opens a VCF, and its Import and Export wizard writes the Contacts folder out as a CSV that Excel reads. The catch is scale. Outlook loads one contact per VCF, so a single file holding hundreds of contacts means saving them one at a time, which rules the route out for anything past a handful.
VCF to Excel Converter Software (Method 1)
Dedicated VCF to Excel converter software is the route for large files, batches of files and contacts that carry photos, several phone numbers or addresses. The Univik VCF Converter runs the whole job offline on Windows 10 and 11.
- Open the converter and click Add File or Add Folder. A folder load merges every VCF inside into one output, which turns a phone export of hundreds of single contact files into one sheet.
- Check the preview. The tool parses every contact and shows the data before anything converts, which is where you spot a broken file early.
- Choose XLSX as the output format. XLS and CSV sit alongside it if an older system or a CRM import needs them.
- Review the field mapping and click Convert. FN, TEL, EMAIL and ADR land in Full Name, Phone, Email and Address columns, with repeated fields split into their own columns.
The converter reads vCard 2.1, 3.0 and 4.0, decodes quoted-printable text and keeps international characters intact through UTF-8. A duplicate in the VCF becomes a duplicate row in the sheet, so run the Univik vCard Duplicate Remover on the file first when it carries repeats. A 2,000 contact VCF becomes a 2,000 row sheet in one pass. The trade is cost. It is paid software with a free trial, so test it against your own file before buying.
Convert VCF to Excel Free with Google Contacts (Method 2)
Google Contacts works as a free middleman. It imports the VCF, normalises the data and exports a CSV that Excel opens cleanly.
- Go to contacts.google.com and sign in. Click Import in the sidebar, pick your VCF and confirm.
- Select the imported contacts. The top checkbox takes all of them, or apply a label first if you need a subset.
- Click Export and choose Google CSV, not Outlook CSV, which uses a different column layout. Open the downloaded file in Excel and save it as an Excel Workbook (.xlsx).
The exported CSV arrives with clean headers, First Name, Last Name, phone and email columns already split, and it handles every vCard version. Google caps an import at 3,000 contacts per file, so split a bigger export before uploading. The honest catch is privacy and residue. Your contacts land in your actual Google account, custom X properties get stripped and photos come back smaller if at all. Delete the imported contacts afterwards if you do not want them living in the account, and skip this route entirely for client data you are not allowed to put in a cloud service. Our guide on converting VCF to CSV goes deeper on the CSV stage itself.
Excel Power Query Import (Method 3)
Excel 2016 and later can pull the VCF apart without any outside software. Power Query loads the file as text and transforms it into a table.
- In Excel, go to Data, then Get Data, then From File, then From Text/CSV. Switch the file filter to All Files and pick the .vcf.
- Click Transform Data. The Power Query Editor shows each VCF line as a row.
- Split each row at the first colon to separate property names from values, filter out the BEGIN:VCARD and END:VCARD rows, add an index that increments at each new contact, then pivot so properties become columns. Close and Load pushes the table into the sheet.
Power Query suits clean files of 50 to 200 contacts where every entry carries the same fields. It struggles once contacts hold several phone numbers, base64 photo blocks or quoted-printable text, all of which need manual handling in the editor. If you know Power Query, it is a satisfying zero install route. If you do not, the Google route is faster to learn.
Python Script for Bulk Conversion (Method 4)
For developers, a short Python script converts VCF to XLSX with full control, and it batches dozens of files without complaint. The vobject library handles the vCard parsing and openpyxl writes the spreadsheet. One limit is worth knowing. Quoted-printable text in older vCard 2.1 exports trips the parser, so convert the file to vCard 3.0 first.
import vobject
import openpyxl
import sys
def vcf_to_excel(vcf_path, xlsx_path):
wb = openpyxl.Workbook()
ws = wb.active
ws.title = "Contacts"
headers = ["Full Name", "First Name", "Last Name",
"Email", "Phone", "Organization", "Title", "Address"]
ws.append(headers)
with open(vcf_path, 'r', encoding='utf-8') as f:
for vcard in vobject.readComponents(f):
row = []
row.append(str(vcard.fn.value) if hasattr(vcard, 'fn') else "")
if hasattr(vcard, 'n'):
row.append(str(vcard.n.value.given))
row.append(str(vcard.n.value.family))
else:
row.extend(["", ""])
row.append(str(vcard.email.value) if hasattr(vcard, 'email') else "")
row.append(str(vcard.tel.value) if hasattr(vcard, 'tel') else "")
row.append(str(vcard.org.value[0]) if hasattr(vcard, 'org') else "")
row.append(str(vcard.title.value) if hasattr(vcard, 'title') else "")
row.append(str(vcard.adr.value) if hasattr(vcard, 'adr') else "")
ws.append(row)
wb.save(xlsx_path)
print(f"Converted {ws.max_row - 1} contacts to {xlsx_path}")
if __name__ == "__main__":
vcf_to_excel(sys.argv[1], sys.argv[2])
Install the libraries with pip install vobject openpyxl and run python vcf_to_excel.py contacts.vcf output.xlsx. As written, the script takes the first email and first phone per contact. To capture all of them, loop through vcard.tel_list and vcard.email_list and add Phone 1, Phone 2 and Email 2 columns.
If you want the bulk route without Python, a free community VBA script on SourceForge does the same conversion as a macro enabled Excel workbook, and its reviews are full of people who picked it for the same reason offline matters, keeping contact data away from upload sites. The trade is that support rests on one volunteer developer.
Side by side, the four methods sort like this. Every route runs on Windows 10 and 11, and Google Contacts, Power Query in Excel for Mac and the Python script cover Mac users too. The Univik converter is Windows software.
| Criteria | Converter software | Google Contacts | Power Query | Python script |
|---|---|---|---|---|
| Best for | Large files, accuracy | Quick free conversion | Staying inside Excel | Automation |
| File size limit | None | 3,000 contacts per import | Excel memory | None |
| All vCard versions | Yes | Yes | Manual parsing | Yes |
| Repeated fields kept | Yes | Yes | Complex setup | With extra code |
| Works offline | Yes | No | Yes | Yes |
| Skill needed | None | None | Intermediate | Developer |
| Cost | Paid, free trial | Free | Free with Excel | Free |
How vCard Fields Map to Excel Columns
Every conversion is a field mapping. Each vCard property, defined in the open vCard standard RFC 6350, has to land in the right Excel column, and knowing the map tells you what to verify afterwards.
| vCard property | Excel column | Example value |
|---|---|---|
| FN | Full Name | John Michael Doe |
| N | Last Name, First Name | Doe, John |
| TEL;TYPE=CELL | Mobile Phone | +1-555-0101 |
| TEL;TYPE=WORK | Work Phone | +1-555-0102 |
| EMAIL;TYPE=WORK | Work Email | john@company.com |
| ORG | Company | Acme Corporation |
| TITLE | Job Title | Marketing Director |
| ADR;TYPE=WORK | Work Address | 123 Main St, City, ST 12345 |
| BDAY | Birthday | 1985-03-15 |
| NOTE | Notes | Met at conference 2024 |
| URL | Website | https://johndoe.com |
| CATEGORIES | Group | Work, VIP |
For what each of these properties holds inside the file and how the versions differ, our guide to vCard file structure breaks down every line.
Common Problems When You Convert VCF to Excel
The support ticket we see most is not a failed conversion. It is a successful one with damaged phone numbers. Excel treats a long number as a numeric value, so 00441234567890 turns into 4.41235E+11 and drops its leading zeros. Format the phone column as Text before the data goes in, or bring the CSV in through Data, then From Text/CSV, and set the column type there. Once the zeros are stripped and saved, they are gone, and the fix is reconverting from the original VCF.
Garbled international characters come second. Names with accents or non Latin scripts turn into question marks when the encoding gets lost, so keep the file UTF-8 and open CSVs through the import dialog with UTF-8 selected rather than a double click. If the VCF itself carries broken encoding, our guide on fixing VCF file errors covers the repair.
Then come the quiet ones. A contact with three phone numbers can arrive with one if the tool only reads the first TEL line, so spot check a contact you know has several. Addresses land in a single cell when the converter does not split the ADR components, which either needs granular mapping in the tool or a text split in Excel afterwards. And near empty rows are normal, since some VCF entries hold nothing but a name.
Frequently Asked Questions
Can you convert a VCF file to Excel?
Yes. Excel cannot read vCard structure on its own, so the file needs a conversion step, and four routes work. Converter software handles it offline with full field mapping, Google Contacts does it free through a CSV export, Power Query parses it inside Excel and a Python script automates it for batches. Every route ends in a normal .xlsx with one contact per row.
How do I convert a VCF file to Excel without software?
Use Google Contacts as the middleman. Import the VCF at contacts.google.com, select the imported contacts, click Export and choose Google CSV, then open the download in Excel and save as .xlsx. It costs nothing and needs only a browser. The trade is that your contacts pass through your Google account, so remove them afterwards and keep sensitive lists on an offline route.
Is it safe to use an online VCF to Excel converter?
Be careful with any site that asks you to upload the file. Contacts are personal data, names, numbers, emails and addresses for every person in the list, and an upload puts all of it on someone else’s server. A few browser tools process the file locally without uploading it, and they say so prominently, so treat any converter that makes no such claim as an upload. Desktop software and the Power Query and Python routes keep the file on your own machine, which is the safer default for client or company contacts.
Why does my VCF look like gibberish in Excel?
Two causes. Opening the VCF directly shows raw property lines, BEGIN:VCARD and TEL tags stacked in one column, because the file is not a table yet and needs converting. Broken characters inside otherwise readable text mean an encoding problem instead, so reopen the file through Data, then From Text/CSV with UTF-8 selected, or repair the source VCF first.
How do I keep phone numbers correct in Excel?
Format the phone column as Text before the data arrives. Right click the column, choose Format Cells, pick Text, then paste or import. That stops Excel from converting long numbers to scientific notation and stripping leading zeros. If the numbers are already damaged and saved, the zeros cannot be recovered from the sheet, so reconvert from the original VCF with the column preformatted.
What is the best way to convert a large VCF file with thousands of contacts?
Desktop converter software. Online tools cap out on big files and Google Contacts stops at 3,000 contacts per import, while a desktop tool processes everything locally with no upload limit and writes one formatted sheet. If the file is big because it holds many separate exports, load the whole folder and merge in one run, or split the VCF first and convert in batches.
The Bottom Line
Match the method to the job. One small file and no budget means Google Contacts and five minutes. A big file, client data or a job you will repeat means converter software with offline processing and full field mapping. Power Query serves the Excel native, and Python serves the automator.
Whichever route you take, three habits keep the output clean. Set phone columns to Text before the data lands, insist on UTF-8 at every step and spot check one contact that you know carries several numbers. And once the sheet is cleaned up, the same converter maps your column headers back into vCard properties for the return trip to a phone or mail app.