Excel to vCard Converter
Turn a contact spreadsheet into a .vcf file you can import into iPhone, Google Contacts, or Outlook - without your contacts ever leaving your device.
Drop your file here or click to upload
Supports .xlsx, .xls, .csv · up to 50MB · or paste a file from your clipboard
How to Convert Excel Contacts to vCard
- Upload your spreadsheet - .xlsx, .xls or .csv exported from any CRM, mail client or address book. It is read in the browser and never uploaded.
- Check the column mapping - columns are guessed from your header row; every field can be re-pointed or cleared.
- Read the count - the panel shows how many cards will be written and how many rows were skipped.
- Download the .vcf - one file containing every card, ready to import into iPhone, Google Contacts, Outlook or Android.
What Each Row Becomes
One spreadsheet row becomes one vCard 3.0 card, and all the cards are concatenated into a single contacts.vcf. This is what a fully mapped row produces:
| Your column | vCard property | Notes |
|---|---|---|
| Full name | FN | Required by the spec. Falls back to first + last, then company, then email |
| First / last name | N | Written as last;first;;; - no middle name, prefix or suffix |
| Mobile phone | TEL;TYPE=CELL,VOICE | The number is written exactly as the cell reads |
| Work phone | TEL;TYPE=WORK,VOICE | The second and last phone slot |
EMAIL;TYPE=INTERNET | One address per contact | |
| Company / job title | ORG / TITLE | ORG is a single value; no department splitting |
| Address | ADR;TYPE=HOME | The whole cell goes in the street component, unsplit |
| Website / note | URL / NOTE | Free text, escaped for the format |
How Your Headers Are Matched
The guess is a case-insensitive match on the header text: name or contact for the full name, first or given, last or surname or family, mobile or cell (then phone or tel) for the mobile number, work phone or office for the work number, email, company or organisation or employer or org, title or position or role, address or street, url or website or homepage, and note or comment or remark. Each column is claimed at most once. Two habits of real spreadsheets are worth watching: a column literally called "Title" that holds Mr or Dr is mapped to the job title, and a sheet with no header row needs the "First row contains headers" box unticked so the columns become Column 1, Column 2 and can be mapped by hand.
Edge Cases and Limits
- Numbers keep their cell text - a phone column formatted as a number loses its leading zero in Excel long before it gets here. Format the column as text in the spreadsheet if that matters.
- Photos are never written, so cards import without avatars.
- No deduplication - two rows for the same person produce two cards. Clean the sheet first with Remove Duplicates.
- Groups and categories are not exported; organise contacts after importing.
- Multiple sheets - select the sheet you want and the mapping is re-guessed from its headers.
- CSV input gets delimiter and encoding detection, so a semicolon-separated or UTF-16 export from Outlook loads correctly.
When to Use a Different Tool
To join separate street, city and postcode columns into the single address cell this tool expects, use Combine Columns first. For dated entries rather than people, Excel to Calendar writes .ics events from the same kind of sheet. If you only need the list somewhere else rather than in an address book, Excel to CSV or Excel to JSON keep the rows as data.
Frequently Asked Questions
vCard 3.0 - the version iPhone Contacts, Google Contacts, Outlook and Android all import without complaint. Each row produces FN (the display name), N when a first or last name column is mapped, TEL;TYPE=CELL,VOICE, TEL;TYPE=WORK,VOICE, EMAIL;TYPE=INTERNET, ORG, TITLE, ADR;TYPE=HOME, URL and NOTE. Properties with no mapped column, or an empty cell, are left out of that card entirely rather than written blank.
Two phones, yes - one mobile column and one work column, tagged CELL and WORK. Email is a single column, so a contact with a personal and a work address needs the second one somewhere else, for instance in the note column. Home and fax numbers, birthdays, photos, instant-messaging handles and custom fields are not written.
Whatever is in that one cell is written into the street component of an ADR;TYPE=HOME property. It is not split into street, city, region and postcode, so a full address in one cell imports as one line. If your sheet has separate address columns, combine them into a single column first - Combine Columns does it in one pass.
A vCard needs an identifying value. Rows are skipped only when the full name, first name, last name, company and email cells are all empty, and the skipped count is shown before you download. When a full name column is missing, the display name falls back to first plus last name, then to company, then to the email address.
iPhone: mail or AirDrop the file to yourself and open it, or import via iCloud.com Contacts. Google Contacts: Import, then choose the .vcf. Outlook: File > Open & Export > Import/Export > Import a VCARD file - note that Outlook imports one card at a time from a multi-card file on some versions, in which case Google Contacts or iCloud is the easier route for a bulk list. Android imports .vcf directly from the Contacts app.
No. Backslashes, semicolons, commas and line breaks inside cell values are escaped as the vCard spec requires, so a company name like 'Smith, Jones & Co' or a multi-line note imports as written rather than splitting into separate fields.