ByteScope

VCF to CSV Converter

Turn a .vcf contact export into a CSV that Excel opens cleanly — and back again. Your contact book never leaves the browser.

The contact book is read here, on your machine. Names, numbers and addresses are parsed in the page and never sent anywhere — no upload, no account, no copy on a server.

Drop .vcf contact files here

vCard 2.1, 3.0 and 4.0 — or click to browse. Several files at once is fine.

Dropping again replaces the list, so a failed file can never leave old rows on screen.

CSV to vCard

The other direction: give it a CSV and get a .vcf you can import back into a phone or into Google Contacts.

Drop a CSV here

One file. Comma-separated, with a header row — or click to browse.

Column headers are matched against the ones this tool exports (Full Name, Email, Phone and so on). Anything it does not recognise is kept as an X- property rather than dropped.

About this tool

A .vcf file is what a phone, Google Contacts or Outlook hands you when you ask it to export your address book — and it is the one file spreadsheet software refuses to open. Drop it here and every contact is parsed in the page: names, phone numbers, emails, addresses, organizations, birthdays and notes, laid out as a table you can read before you export anything. Then download a CSV that opens straight into Excel, Numbers or Google Sheets.

Your contact book never leaves this machine. That is the whole point of doing it here rather than on one of the sites that ask you to upload the file: an address book is the single most sensitive document most people own, and pasting it into a stranger's server to change its file format is a bad trade. Parsing, preview and export all happen in your browser, and nothing is sent anywhere — there is no server to send it to.

It handles the exports that actually break other converters. vCard 2.1, 3.0 and 4.0 are all read, including 2.1's quoted-printable encoding — the reason Chinese and Japanese names come out of an old phone as =A4=FB=A5=CD instead of characters. Files saved in Big5, GBK, Shift-JIS or EUC-KR are detected automatically and can be switched by hand if the guess is wrong, with the table re-reading as you change it. Every parser warning is listed with the line number that caused it, so a card that only half-survived is visible rather than quietly missing.

The reverse direction is here too: give it a CSV and get a .vcf back, ready to import into a phone or into Google Contacts. Column headers are matched against the ones this tool exports, and anything unrecognised is preserved as a custom X- property instead of being thrown away. Pick which columns you want in the CSV, keep the UTF-8 byte-order mark switched on so Excel shows non-English names correctly, and the export is done.

Frequently asked questions

Are my contacts uploaded anywhere?

No. The file is read by the browser on your own machine, parsed in the page, and the CSV is generated locally. Nothing is sent to a server, there is no account, and closing the tab leaves no copy anywhere.

How do I open a VCF file in Excel?

Excel cannot read vCard at all — that is why the file looks like gibberish or refuses to open. Convert it to CSV here, keep the byte-order mark option on, and double-click the result: Excel opens it as a normal spreadsheet with one row per contact.

Why do accented or Chinese names turn into question marks in Excel?

Excel assumes a CSV is in the local Windows encoding unless the file starts with a UTF-8 byte-order mark. The BOM option is on by default for exactly this reason. If names still look wrong before you export, the source file is probably not UTF-8 — change the character set on the file row and the preview will correct itself.

Which vCard versions are supported?

2.1, 3.0 and 4.0, including files that mix them. Version-specific rules are respected rather than averaged: 3.0 and 4.0 backslash escaping is unescaped, 2.1 has none and is left alone, and 2.1's ENCODING=QUOTED-PRINTABLE values are decoded with the charset the card names.

What happens to phone numbers and emails when a contact has several?

They are joined into one cell, separated by a semicolon and a space, so no number is lost and the row count still matches the contact count. Addresses are flattened the same way, street through country.

Can I convert a CSV back into a .vcf file?

Yes — the panel at the bottom of the page does that, in vCard 3.0 or 4.0. Headers matching this tool's own column names map straight back onto vCard properties; any other column is kept as a custom X- property, so a round trip does not silently lose your extra fields.

What does the tool do with a file that is not really a vCard?

It says so specifically instead of showing an empty table. A zero-byte file, a CSV dropped on the wrong panel, a file with no BEGIN:VCARD line anywhere, and a file that failed to decode in the chosen character set each get their own message — and a failed load clears the previous result rather than leaving old rows on screen.

Does the photo in a contact card survive the conversion?

No. A CSV cell cannot hold an embedded JPEG, so photos are read but not exported; the CSV carries the text fields only. The original .vcf still has them, so keep it if the pictures matter.