How to Convert CSV to vCard for Android, iPhone, and Outlook

Easy Guide: Convert CSV to vCard in 3 StepsConverting a CSV (Comma-Separated Values) file to a vCard (.vcf) is a common task when moving contacts between platforms — for example, from spreadsheet exports, email services, or legacy address books into phones, Outlook, or other contact managers. This guide walks you through a simple, reliable three-step process: prepare your CSV, map fields correctly, and convert/export to vCard. Follow these steps to preserve names, phone numbers, emails, addresses, and other important contact fields.


Why convert CSV to vCard?

  • Compatibility: vCard is the widely accepted standard for contact exchange across devices and platforms (iOS, Android, macOS, Windows, many web apps).
  • Single-file import: vCard files can contain many contacts in one .vcf file, making importing straightforward.
  • Field richness: vCard supports multiple numbers, emails, addresses, photos, and custom fields more reliably than plain CSV.

Before you start — what you’ll need

  • A CSV file with your contacts (exported from Gmail, Excel, Outlook, or another service).
  • A spreadsheet editor (Excel, Google Sheets, LibreOffice Calc) to inspect and clean your CSV.
  • Either a conversion tool (online converter, built-in import/export in contact apps) or a simple script (Python example provided below) if you prefer a manual/custom approach.

Step 1 — Prepare and clean your CSV

  1. Open the CSV in a spreadsheet editor.
  2. Standardize column headers. Common headers are: First Name, Last Name, Full Name, Email, Phone, Mobile, Home Phone, Work Phone, Address, City, State, Postal Code, Country, Company, Job Title, Notes. Use consistent naming so mapping is easier later.
  3. Remove duplicate rows and empty contacts. Sort by name or email to spot duplicates quickly.
  4. Normalize phone numbers (country codes, remove extra characters) — many importers are picky about formats. Example: +1 555-123-4567 or 15551234567.
  5. Consolidate multi-part address columns if necessary (some systems expect one Address field).
  6. Save the cleaned file as UTF-8 encoded CSV to avoid character issues with names containing accents.

Tip: If you only have a single “Name” column, consider splitting it into First Name and Last Name where possible — many vCard consumers expect separate fields.


Step 2 — Map CSV columns to vCard fields

Most converters and contact apps ask you to map CSV columns to vCard fields before creating the .vcf file. Typical mappings:

  • First Name -> N.givenName
  • Last Name -> N.familyName
  • Full Name -> FN
  • Email -> EMAIL;TYPE=INTERNET
  • Phone -> TEL;TYPE=CELL or TEL;TYPE=HOME/WORK
  • Address -> ADR;TYPE=HOME or ADR;TYPE=WORK (format: PO Box;Extended;Street;City;Region;PostalCode;Country)
  • Company -> ORG
  • Job Title -> TITLE
  • Notes -> NOTE

When mapping, choose the most specific vCard type available (e.g., mark mobile vs. work phones). If a tool supports vCard version selection, vCard 3.0 and 4.0 provide richer features; 3.0 is the most widely compatible.


Step 3 — Convert and verify

Option A — Use an online converter or built-in tool (fast, user-friendly)

  • Popular web converters let you upload CSV, map fields, and download a .vcf. Follow on-screen prompts to map columns.
  • Many contact managers (Gmail, Outlook) offer CSV import and export to vCard either directly or via an intermediate import/export process.

Option B — Use a desktop contact app

  • Import CSV into the contacts app (Contacts on macOS, Windows People, or Thunderbird Address Book), then export from that app as vCard (.vcf).

Option C — Use a script (flexible, repeatable)

  • For bulk or automated conversions, a small Python script using libraries like csv and vobject or vcf can produce vCards programmatically. Example Python script (basic):
# Python 3 example: CSV to vCard (vCard 3.0) import csv def create_vcard(row):     fn = row.get('Full Name') or f"{row.get('First Name','')} {row.get('Last Name','')}".strip()     email = row.get('Email','')     phone = row.get('Phone','')     lines = [         "BEGIN:VCARD",         "VERSION:3.0",         f"FN:{fn}",         f"N:{row.get('Last Name','')};{row.get('First Name','')}",     ]     if email:         lines.append(f"EMAIL;TYPE=INTERNET:{email}")     if phone:         lines.append(f"TEL;TYPE=CELL:{phone}")     lines.append("END:VCARD")     return " ".join(lines) with open('contacts.csv', newline='', encoding='utf-8') as csvfile:     reader = csv.DictReader(csvfile)     with open('contacts.vcf', 'w', encoding='utf-8') as vcf:         for r in reader:             vcf.write(create_vcard(r) + " ") 

After conversion:

  • Open the .vcf in a text editor to spot-check formatting.
  • Import the .vcf into your target device or app and verify several contacts (names, phone types, emails, addresses, notes).
  • If fields are missing or misformatted, adjust your CSV headers or mapping and re-run the conversion.

Common issues and fixes

  • Missing special characters or garbled text: ensure CSV is saved as UTF-8.
  • Phone numbers split into columns incorrectly: merge columns or create a combined phone column before converting.
  • Address fields not appearing correctly: verify ADR field uses the correct vCard subcomponents (PO Box;Extended;Street;City;Region;PostalCode;Country).
  • Duplicate contacts after import: deduplicate in CSV first, or use the target app’s merge/clean features.

Example quick workflow: Gmail -> vCard

  1. Export contacts from Gmail as CSV.
  2. Open CSV in Google Sheets, clean headers and normalize phones.
  3. Use an online CSV-to-vCard converter or import CSV into Google Contacts and export as vCard.

Security and privacy note When using online converters, be mindful of privacy: uploaded contact lists may contain sensitive personal data. Prefer local tools or trusted services if privacy is a concern.


Final checklist (before final import)

  • CSV saved as UTF-8
  • Columns standardized and mapped correctly
  • Phone numbers normalized
  • No duplicate rows
  • Test-import a small subset before full import

Following these three steps — prepare, map, convert — will let you move contacts reliably from CSV into vCard format for use across devices and services.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *