Convert CSV to vCard when you have contacts in a spreadsheet and need a .vcf file your phone, email app or address book can import. This CSV to vCard converter reads a header row, builds one vCard 3.0 card per row and puts them all in a single contacts.vcf download.
How to use the CSV to vCard converter
- Save your spreadsheet as CSV with a header row. Use any of these column names:
name,first,last,email,phone,organization,title. Case does not matter. - Choose the file. Leave Input encoding on
autounless accented names look wrong. - Select Process files, or press Try an example.
- Check the name, email and phone preview, then download
contacts.vcf.
How columns map to vCard 3.0 properties
| CSV column | vCard property |
|---|---|
| first, last | N (family name;given name) |
| name, or first + last | FN (formatted name) |
EMAIL |
|
| phone | TEL |
| organization | ORG |
| title | TITLE |
RFC 2426, the vCard 3.0 standard, requires N, FN and VERSION in every card. The converter always writes all three, so each row needs either a name value or a first or last name. Commas, semicolons and backslashes inside values are escaped as the RFC asks, so a company such as “Smith, Jones & Co” stays in one field.
Worked example: one contact
name,first,last,email,phone,organization,title
Ada Lovelace,Ada,Lovelace,ada@example.test,5550100,Example,Analyst
The CSV to vCard output for this row is a card with N:Lovelace;Ada;;;, FN:Ada Lovelace, the email, TEL:5550100, ORG:Example and TITLE:Analyst, wrapped in BEGIN:VCARD and END:VCARD lines.

Limits worth knowing
One email and one phone are written per contact, with no type label such as work or home. Photos, birthdays, addresses and custom fields are not created. If your spreadsheet has several phone columns, merge the one you want into phone first. Every row must have the same number of cells as the header, so check for stray commas.
Common CSV to vCard errors
- A required field or column is missing. A row has no name, first name or last name.
- A row is rejected for its column count. A cell has an unquoted comma, so the row has more cells than the header. Quote the cell or remove the comma.
- Accents look wrong after import. Pick the source encoding by hand, or fix the file with the CSV encoding converter.
Privacy: your contacts stay in your browser
Tips for a clean contact import
Save the spreadsheet as UTF-8 before you start, so accented names and non-Latin scripts come through intact. Keep one person per row and one kind of detail per column. If a contact has two phone numbers, give each its own column rather than putting both in one cell. Check the first few cards in your address book after import, because phones and mail apps each map fields in their own way. A quick test with five rows saves cleanup work when the full list has hundreds of people.
The CSV to vCard converter runs with JavaScript in a background worker on this page. We checked the tool code: the spreadsheet is read into browser memory, nothing is sent to a FileFix or Calcenzo server, and the only network requests the tool makes are for its own static files. Your file stays in your browser. Contact lists hold other people’s names, emails and phone numbers, so treat the download with the same care as the original and clear the page on a shared computer.
To split a large .vcf into smaller files, or merge several, use the VCF splitter and merger. For dates rather than people, the CSV to ICS converter builds calendar files.
Sources
The CSV to vCard converter follows these specifications and format guides:
Questions about this tool
Which vCard version does it write?
vCard 3.0 (RFC 2426), which current phones and email apps import.
What column names does it need?
Any of name, first, last, email, phone, organization and title. Each row needs a name, or a first or last name.
Can I add more than one phone number?
No. One phone and one email are written per contact. Merge the number you want into the phone column first.
Are all contacts in one file?
Yes. Every row becomes one card inside a single contacts.vcf file.
Are my contacts uploaded?
No. The spreadsheet is read and the .vcf is built in your browser.
Review the supported formats and limitations before using an output file. File processing happens in your browser.