CSV to VCF
BetaTurn a contacts spreadsheet into one .vcf file that iPhone, Android and Google Contacts import. Columns are matched by name and you can fix the mapping. vCard 3.0 or 4.0, and nothing is uploaded.
- Free, no sign-up
- REST + MCP
- Updated
- Reviewed by Olgun Ozoktas
3.0 imports into iPhone, Android and Google Contacts. Choose 4.0 only when the destination asks for it.
One card per contact will appear here..
Why Use Our CSV to VCF Converter?
vCard is the contact format behind every address book. RFC 2426 defines vCard 3.0 and RFC 6350 defines vCard 4.0, and a .vcf file can hold any number of cards one after another, which is what lets one file carry a whole list. CSV to VCF writes one BEGIN:VCARD to END:VCARD block per spreadsheet row, with the structured name (N), the display name (FN), company, job title, emails, phones, a home address, website, note, birthday and UID whenever the sheet has those columns.
Columns are matched by name after ignoring case, spaces and punctuation, so Full Name, full_name and FullName are one column. The name table covers common spreadsheet headers, the headers Google Contacts and Outlook exports use, and the headers FindUtils VCF to CSV writes, which is why a round trip through both pages brings names, emails, phones and addresses back to where they started. Anything the matcher gets wrong can be corrected in the column map.
Values are escaped as the standard requires, so a comma or a semicolon inside a company name does not split the field, and long lines are folded at 75 octets with the continuation indented by one space. A multi-line note keeps its line breaks. vCard 3.0 is the default because phones and Google Contacts import it most reliably; vCard 4.0 writes phone numbers as tel: URIs.
How it compares
Many CSV-to-vCard converters ask you to upload the contact list, which is a lot to hand over for a file of names, numbers and addresses. This page converts in the browser, recognises the column names Google Contacts, Outlook and FindUtils VCF to CSV use without any setup, and lists every row it skipped and why.
CSV to VCF Tips
- Every card needs a name, an email or a phone. A row with none of them is skipped and listed by row number, so a stray totals row does not become an empty contact.
- Separate First Name and Last Name columns are better than one Name column. They fill the structured N property that phones sort by, and the display name is built from them.
- Phone, Mobile and Cell columns are written as a mobile number, Work Phone as work and Home Phone as home. Numbers are kept exactly as typed, so use international format such as +44 20 7946 0000 for contacts you call from abroad.
- The file is written as UTF-8, so accented and non-Latin names come through. If Excel already mangled them, re-save the sheet as CSV UTF-8 before converting.
- Photos are not written. A CSV has no reliable way to carry an image, and a card without a photo imports everywhere.