vCard to CSV Converter
Contact exports from phone address books, Outlook and CRM systems usually arrive as a .vcf file, and that format is hard to scan by eye. This vCard to CSV converter reads one or many vCard 3.0 or 4.0 cards and writes one CSV row per card, so the contacts can be sorted, deduplicated or imported into a tool that only accepts flat files.
Contact files hold personal phone numbers and home addresses, so the file is parsed on your device and is not uploaded.
Key features
- One row per BEGIN:VCARD to END:VCARD block, with nine fixed columns.
- Folded lines and backslash escapes are decoded before the fields are read.
- vCard 4.0 TEL;VALUE=uri:tel: and mailto: forms are cleaned to plain numbers and addresses.
- Accepts an uploaded .vcf file or pasted text.
About the vCard (.vcf) to CSV format
A vCard is plain text made of property lines shaped like NAME;PARAMETERS:value. Each card begins with BEGIN:VCARD and ends with END:VCARD. A long line may be folded: when a physical line starts with a space or a tab, it continues the line above and that single leading character is discarded.
Structured properties such as N (family name, given name), ORG and ADR separate their parts with semicolons. Plain text properties escape commas, semicolons and line breaks with a backslash. The output always has the same nine columns in the same order, and a field the card does not contain is written as an empty cell.
How it works
The converter first joins folded lines. It then reads each line into a property name, its parameters and its value, keeping every line in the card it belongs to. Structured fields are split on unescaped semicolons. The parts are unescaped and joined again with readable separators: organization units with a slash, and address parts with commas.
Common use cases
- Exporting a phone address book to a spreadsheet so duplicate entries can be spotted by email address.
- Preparing a mailing list from business cards that were scanned into a shared .vcf file.
- Checking which contacts in a CRM hand-off are missing a phone number before a sales call campaign.
How to use this tool
- Export the contacts as a .vcf file from your address book, or copy one or more BEGIN:VCARD blocks.
- Upload the file, or paste the text into the converter box.
- Check the preview. Each contact should be one row, with name, email and phone filled where the card had them.
- Download the contacts CSV, or open it in the CSV editor to fix any name or organization cells before importing into another app.
Example
Input vCard (two cards, 3.0 and 4.0)
BEGIN:VCARD
VERSION:3.0
FN:Ada Lovelace
N:Lovelace;Ada;;;
ORG:Analytical Engine Co.;Research
TITLE:Chief Analyst
TEL;TYPE=CELL:+44 20 7946 0001
TEL;TYPE=WORK:+44 20 7946 0002
EMAIL;TYPE=INTERNET:ada@example.com
ADR;TYPE=WORK:;;12 St James Sq;London;;SW1Y 4JH;United Kingdom
NOTE:Prefers email over calls; ask for the quarter
ly report
END:VCARD
BEGIN:VCARD
VERSION:4.0
FN:Grace Hopper
N:Hopper;Grace;;;
EMAIL:grace@example.org
TEL;VALUE=uri:tel:+1-555-0100
NOTE:Prefers\, mornings
END:VCARDOutput CSV
name,first_name,last_name,email,phone,organization,title,address,note
Ada Lovelace,Ada,Lovelace,ada@example.com,+44 20 7946 0001,Analytical Engine Co. / Research,Chief Analyst,"12 St James Sq, London, SW1Y 4JH, United Kingdom",Prefers email over calls; ask for the quarterly report
Grace Hopper,Grace,Hopper,grace@example.org,+1-555-0100,,,,"Prefers, mornings"Tips for best results
- Either vCard version converts, so use whichever export your address book offers, 3.0 or 4.0. Check the preview's first and last card to confirm the fields landed.
- A card that has FN but no N line leaves first_name and last_name blank, because those columns come only from N. Fill them from the name column afterward if you need them split.
- Open the result in the CSV editor and sort by organization to find cards that were created with no company name.
Common errors and how to fix them
- No vCard records found.
- The text has no BEGIN:VCARD line followed by an END:VCARD line. Check that you copied the whole block, including the first and last lines, or that the .vcf file is not a plain list of names.
- The vCard starting at line N has no END:VCARD line.
- A card was cut off before its end marker, which often happens when a copy stops mid-card. Paste the card again from its first line through END:VCARD.
- Line N: expected a NAME:value line.
- A line has no colon separating the property name from its value. This usually means a line break was added inside a value. Join that line onto the previous one, or start the continuation with a space as the format requires.
Best practices
- Convert a full export rather than hand-picked cards, so the header row and column count stay the same across batches.
- Keep a copy of the original .vcf. The CSV drops photos and custom fields, and you may need them later.
- Look at the email column for placeholder addresses before importing, since some apps write empty EMAIL lines.
Which vCard property fills which column
The name column uses FN, the formatted name that most apps show in their contact list. If FN is absent, the converter joins the given and family names from N. First name and last name always come from N, where the family name is the first part and the given name is the second.
Organization reads the ORG property. Some exporters add a department after a semicolon, so ORG:Analytical Engine Co.;Research becomes one cell reading Analytical Engine Co. / Research. Address reads the first ADR property and joins its non-empty parts, leaving out the PO box and extended address slots when they are empty.
What is intentionally left out
The nine columns cover the fields that appear on most business cards. Anything else, including birthdays, URLs, social profiles and group membership, is skipped. Keeping the converter to a fixed set of columns is what lets a folder of exports from different phones open with matching headers.
Frequently asked questions
Can it convert several cards from one file?
Yes. Every BEGIN:VCARD and END:VCARD pair becomes a separate row, in the order the cards appear in the file.
Does it read vCard 4.0 files?
Yes. Both 3.0 and 4.0 cards are read. A TEL line written as a tel: URI and an EMAIL written as a mailto: address are cleaned to a plain number or address.
Why is a field that exists in my contact app empty?
The app may store that field in a property the converter does not read, such as a custom X- line or a grouped item. Open the .vcf in a text editor to see the exact property name.
For more background on data formats and conversion workflows, read our format guides.