Excel to vCard
Turn contact sheets into .vcf with column mapping for phones
Drag & drop files here
or browse files
Supports .xlsx / .xls / .csv contact sheets
The first row is parsed as the header; output is vCard 3.0 (.vcf) for iPhone / Android / Outlook.
About this tool
Client lists, alumni sheets and employee rosters live in spreadsheets, but phones want vCard. This tool converts .xlsx / .xls / .csv tables into vCard 3.0 .vcf files: the page guesses what each column means from the header (name, mobile, email, company...) and you can confirm or override every column in the mapping UI.
The .vcf imports through the standard flows on iPhone (attachment or iCloud), Android (Contacts import) and Outlook. Multiple phone and email columns are all kept. Conversion runs locally in your browser - contact data never touches a server.
Features
- Supports .xlsx / .xls / .csv contact sheets
- Smart header detection with per-column overrides
- Multiple phone and email columns all preserved
- vCard 3.0 output for iPhone / Android / Outlook
- Free, unlimited, local conversion - lists never uploaded
How to use
- Drop or select the contacts spreadsheet
- Review the column mapping and adjust the dropdowns
- Click Generate vCard - the .vcf downloads
- Send the file to your phone and import it
Frequently asked questions
- How do I import the .vcf into my phone?
- iPhone: email or AirDrop the file to yourself, tap the attachment, choose Add All Contacts - or import via iCloud web. Android: use the Import option in the Contacts app. Outlook: File → Import → vCard.
- The column mapping guessed wrong - now what?
- Detection is only the starting point; every column has a dropdown where you can pick any field or ignore it. Headerless sheets list columns as Column 1, 2, ... for manual mapping.
- One contact with several phone numbers?
- Map both columns as Phone - each becomes a TEL line on the same vCard (mobile columns get the CELL type). The same works for email.
- Is the contact data uploaded?
- No. Parsing, mapping and generation all run in the browser - the list never passes through a server. That is the point of a client-side tool.