Browser-native file tools

Convert CSV to vCard (.vcf)

Drop a contacts CSV below — get a single .vcf file ready to import into iPhone, Android, Outlook, or Google Contacts. Runs in your browser.

— or paste CSV below

How to convert CSV to vCard

The fastest path: drop your contacts CSV into the converter at the top of this page, check the auto-detected column mapping, and click Download .vcf. The tool generates a single vCard file containing every contact, ready to import into any address book on iOS, Android, Windows, or macOS.

  1. Upload your CSV or paste the contents into the input. The first row should be column headers (first_name, email, mobile, etc.).
  2. Review the column mapping. The tool auto-detects common headers — firstname, given_name, surname, email, cell, mobile, org, company, etc. — and maps them to the right vCard fields. Override any mapping with the dropdowns if your CSV uses unusual names.
  3. Preview the first contact. A live preview shows the exact vCard 3.0 text the tool will produce. Verify the name, email, and phone look right.
  4. Click Download .vcf to save contacts.vcf — a single file containing all contacts. Or use Copy to clipboard to paste the vCard text into another app.

The output follows RFC 2426 (vCard 3.0), with line folding and character escaping per the spec. It imports cleanly into every major contacts app.

How to import the .vcf file into:

iPhone (iOS)

  1. Get the .vcf onto your iPhone — AirDrop from a Mac, email the file to yourself, or save it to iCloud Drive / iCloud’s Files.
  2. Open the Files app on iPhone and tap the .vcf file.
  3. iOS shows a contacts preview. Tap Add All Contacts (for a multi-contact file) or Add (for a single contact).
  4. Pick Create New Contacts to add as new entries, or Add to Existing Contact to merge with one already in your phonebook.
  5. Open the Contacts app — the new entries appear immediately and sync via iCloud to your other Apple devices.

If AirDrop is the easiest path: on your Mac, right-click contacts.vcfShareAirDrop → pick your iPhone. Accept on the phone, then open from Files.

Android

  1. Copy the .vcf to your Android device — Google Drive, email attachment, USB transfer, or a messaging app all work.
  2. Open the Files app (or My Files on Samsung), tap the .vcf.
  3. Android prompts: “Import contacts from vCard?” → tap Contacts (or pick a Google account if asked).
  4. Open the Contacts app — entries appear within seconds. If you imported into a Google account, they sync to all your other Android devices automatically.

If your phone can’t open the .vcf directly, use the Google Contacts route below — it works from any browser and syncs back to the phone.

Google Contacts

  1. Go to contacts.google.com on phone or desktop.
  2. Click Import in the left sidebar.
  3. Click Select file → pick your .vcf → click Import.
  4. Contacts appear under a new label (e.g. “Imported on May 9, 2026”) so you can review or undo if needed.
  5. They sync to every Android device and Gmail account signed into the same Google account within a few minutes.

Outlook (Microsoft 365 / Outlook.com)

The web version handles multi-contact .vcf files best:

  1. Sign in to outlook.live.com (or outlook.office.com for work accounts).
  2. Click the People icon in the left rail.
  3. Click ManageImport contacts.
  4. Pick vCard (.vcf) as the source, upload the file, click Import.

Classic Outlook for Windows can import vCard via File → Open & Export → Import/Export → Import a VCARD file, but it imports one contact per file — for bulk, use the web version above.

macOS Contacts

  1. Open the Contacts app on your Mac.
  2. Drag the .vcf from Finder into the Contacts window — or use File → Import… and pick the file.
  3. Confirm the count when prompted; entries land in All Contacts (and sync via iCloud if enabled).

CSV column mapping reference

The auto-detector recognises these common header variations:

CSV header (any case, with spaces, _, or -)vCard field
first_name, firstname, given_name, firstFirst name (N)
last_name, lastname, surname, family_nameLast name (N)
name, full_name, display_name, contactFull name (FN)
email, e-mail, email_address, mailEmail (EMAIL)
phone, telephone, tel, work_phonePhone (TEL;WORK)
mobile, cell, cellphone, mobile_phoneMobile (TEL;CELL)
organization, organisation, org, company, employerOrganization (ORG)
title, job_title, position, roleTitle (TITLE)
address, street, street_address, mailing_addressAddress (ADR)
notes, note, comment, descriptionNotes (NOTE)

If a column doesn’t auto-map, use the dropdowns under Column mapping to point any CSV header at any vCard field. Mappings can be left blank — only the fields you map are written into each vCard.

If you only have a Full name column and no separate first/last, the tool still produces valid vCards: it writes the value to FN and leaves N mostly empty. iPhone, Android, and Google Contacts all handle this fine; some CRMs prefer split first/last, in which case use a formula in your spreadsheet (=LEFT(A2, FIND(" ",A2)-1)) to split before converting.

vCard 3.0 vs 4.0 — which to use

This converter outputs vCard 3.0 (RFC 2426). Here’s why:

  • vCard 3.0 is the de facto standard — every contacts app on every platform reads it correctly. Apple’s Contacts, Google Contacts, Outlook, Thunderbird, every Android phone, every CRM. Released in 1998, hardened by 25+ years of real-world use.
  • vCard 4.0 (RFC 6350, published 2011) cleaned up the spec: dropped the legacy CHARSET parameter, mandated UTF-8, added richer property types (KIND, LANG, GENDER, structured RELATED). But adoption is uneven — older Outlook versions, some Salesforce imports, and various enterprise systems still expect 3.0.

Rule of thumb: use 3.0 unless you have a specific reason to need 4.0 features. To convert the output to 4.0, change VERSION:3.0 to VERSION:4.0 and remove any TYPE= parameters that 4.0 represents differently (TYPE=INTERNET on EMAIL is dropped, for example). For everyday “import contacts into my phone,” stick with the 3.0 default.

Common gotchas

International phone format

Use E.164 for all phone numbers: a +, country code, then the number with no separators — e.g. +14155552671, +447911123456, +819012345678. iOS and Android both use E.164 to match incoming calls to your contacts. Numbers stored as (415) 555-2671 work for outbound dialling but won’t be recognised when an international call comes in.

If your CSV has phones in many local formats, normalise them in your spreadsheet first — Google Sheets’s =REGEXREPLACE() or a small script is faster than fixing them after import.

Multiple emails or phones per contact

The mapper supports one email, one work phone, and one mobile per contact. If your CSV has email1, email2, email3:

  1. Convert once with email1 mapped → save as contacts-1.vcf.
  2. Convert again with email2 mapped → contacts-2.vcf.
  3. Concatenate the files (cat contacts-1.vcf contacts-2.vcf > merged.vcf on macOS/Linux, or just open both in a text editor and paste). Each contact ends up with multiple EMAIL lines in their vCard block, which iOS and Google Contacts handle natively.

Or open the generated .vcf in any text editor and add extra lines before each END:VCARD:

EMAIL;TYPE=INTERNET:secondary@example.com
TEL;TYPE=HOME,VOICE:+15551112222

Accented and non-Latin names

The output is UTF-8 throughout. Names like François, José, Müller, Дмитрий, 張偉, 日本語 import correctly into iOS, Android, Google Contacts, and modern Outlook. If you see mojibake (é instead of é), your source CSV was saved as Windows-1252 / ISO-8859-1 — re-export it as UTF-8 from Excel (Save As → “CSV UTF-8”) or your CRM, then re-run the conversion.

Semicolons and commas in addresses

vCard uses ; to separate address components and , inside multi-value fields. The converter automatically escapes these (\; and \,) per RFC 6350 §3.4, so an address like Apt 3, 123 Main St; Springfield survives the round-trip without breaking the parser. You don’t have to pre-clean your data.

Line endings and folding

vCard requires CRLF line endings (\r\n) and folds lines longer than 75 octets. The converter handles both correctly. If you hand-edit the output, keep the leading-space convention on continuation lines or some parsers will reject the file.

Privacy: nothing is uploaded

The CSV-to-vCard conversion runs entirely in your browser using PapaParse for parsing and a small in-house vCard generator for output. No file ever reaches a server — verify in DevTools → Network. This matters: contact lists usually contain personal phone numbers, home addresses, and emails of friends, customers, or employees, and most public converters happily log them.

After converting, you can view the original CSV to double-check fields, or convert it to Excel to keep an archived copy alongside the .vcf. If accented names look mangled (café, ñ), run the source through the CSV encoding converter first, then re-run the vCard conversion.

Related tools

Frequently asked questions

  • How do I import the .vcf file into iPhone?

    Save the .vcf to your iPhone (AirDrop from Mac, email it to yourself, or save to iCloud Drive). Open the Files app, tap the .vcf file, then tap 'Add All Contacts' — or 'Add' for a single contact. They appear in the Contacts app immediately. iOS supports vCard 3.0 and 4.0 natively.

  • How do I import the .vcf file into Android / Google Contacts?

    Open contacts.google.com in a browser (works on phone or desktop) → click 'Import' in the left sidebar → 'Select file' → pick your .vcf. Contacts sync to every Android device signed into that Google account within minutes. Or copy the .vcf to your phone, open it from the Files app, and pick 'Contacts' as the import target.

  • How do I import .vcf into Outlook?

    Outlook for Windows: File → Open & Export → Import/Export → 'Import a VCARD file (.vcf)' → pick the file. Note: classic Outlook imports one contact per file — for bulk, use Outlook on the web (outlook.live.com → People → Manage → Import contacts → upload .vcf), which handles multi-contact .vcf files correctly.

  • Does this support multiple emails or phones per contact?

    The current converter maps one email, one phone, and one mobile per contact. If your CSV has 'email1, email2, email3' columns, run the conversion three times mapping each one and merge the .vcf files (just concatenate them — vCard files are plain text). Or open the generated .vcf in a text editor and paste extra EMAIL/TEL lines before END:VCARD.

  • vCard 3.0 vs 4.0 — which does this generate?

    We generate vCard 3.0 (RFC 2426). It has the widest compatibility — iOS, Android, Outlook, Google Contacts, macOS Contacts, and most CRMs read it without trouble. vCard 4.0 (RFC 6350) is newer and more expressive but some older systems still don't fully support it. If you specifically need 4.0, you can change the VERSION line in the output by hand.

  • Will accented or non-Latin names import correctly?

    Yes. The output is UTF-8 (the modern default for vCard 3.0 and required for 4.0). Names like 'François', 'Müller', '張偉' import correctly into iOS, Android, and Outlook. If you see mojibake, your CSV was probably saved as Windows-1252 — re-save it as UTF-8 in your editor or spreadsheet first.

  • What format should phone numbers be in?

    Use international E.164 format: a leading '+' followed by country code and number, no spaces or dashes (e.g. +14155552671). This is what iOS and Android prefer for matching incoming calls. Local formats (415-555-2671) work but won't match calls from outside your default country.

  • Is my CSV uploaded?

    No. The conversion runs entirely in your browser using PapaParse and an in-house vCard generator. Your contacts never reach a server. Verify in DevTools → Network — you'll see no upload requests.