Staaarter

CSV to vCard Converter

Maps recognized CSV header names (name, email, phone, org, title, and common variants) into one vCard 3.0 contact block per data row, ready to import into any contacts app. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-29
By Staaarter Team
conversioncontactsvcard

Overview

Introduction

A spreadsheet of contacts, name, email, phone, is common, but most contacts apps import vCard (.vcf) files, not CSV. This tool bridges the gap by generating one vCard block per CSV row.

It recognizes common header name variants (name or full name, phone or tel, org or company) so it works with CSVs exported from different tools without renaming columns first.

What Is CSV to vCard Converter?

A CSV-to-vCard converter that maps a fixed set of recognized header names, case-insensitively, into the corresponding vCard 3.0 property, generating one complete BEGIN:VCARD...END:VCARD block per data row.

Columns whose header doesn't match a recognized alias are simply skipped; only name, email, phone, organization, and title are ever included in the output.

How CSV to vCard Converter Works

The header row is scanned once, and each column is matched (case-insensitively, after trimming) against a small alias table mapping things like 'full name' or 'company' to their vCard property (FN, ORG, etc.).

For each data row, one vCard block is built by emitting a line per recognized, non-empty column value, with special characters escaped per the vCard 3.0 text-value rules, and blank or unrecognized cells simply omitted from that contact's block.

When To Use CSV to vCard Converter

Use it when you have a contact list in a spreadsheet export and need to import it into a contacts app, phone, or email client that expects a .vcf file.

It's also useful for quickly turning a small ad-hoc list of names/emails/phone numbers into shareable contact cards.

Features

Advantages

  • Recognizes several common header name variants (full name, company, tel) without requiring you to rename your columns first.
  • Escapes vCard 3.0 special characters automatically, preventing malformed output from stray commas or semicolons in contact data.
  • Runs entirely client-side, so contact data never leaves your browser.

Limitations

  • Only five fields (name, email, phone, organization, title) are supported; other contact details (address, birthday, notes, photo) aren't mapped.
  • If a column header doesn't match a recognized alias exactly (after trimming and lowercasing), that column is silently skipped rather than guessed at.

Examples

Converting a small contacts CSV

Input

name,email,phone,company
Ada Lovelace,[email protected],+1-555-0100,Analytical Engines Ltd

Output

BEGIN:VCARD
VERSION:3.0
FN:Ada Lovelace
EMAIL:[email protected]
TEL:+1-555-0100
ORG:Analytical Engines Ltd
END:VCARD

The name, email, phone, and company columns map to FN, EMAIL, TEL, and ORG respectively; each data row becomes one complete vCard block.

Best Practices & Notes

Best Practices

  • Name your columns using one of the recognized aliases (name, email, phone, org) to make sure every field you expect actually gets mapped.
  • Check the output for a missing field before importing; a silently-skipped unrecognized column is the most common cause.
  • Use vCard to CSV Converter afterward to confirm a round trip preserves the fields you expect.

Developer Notes

The alias table is a flat, case-insensitive lookup rather than fuzzy string matching, so a header like 'Company Name' won't match 'company': deliberately, since silently guessing at header intent risks mapping the wrong column into a contact field like TEL or EMAIL.

CSV to vCard Converter Use Cases

  • Importing a spreadsheet contact list into a phone, email client, or CRM that accepts vCard files
  • Generating shareable digital business cards from a small list of contacts
  • Migrating contact data between apps that don't share a common export/import format

Common Mistakes

  • Using a header name that isn't in the recognized alias list (e.g. 'e-mail address' instead of 'email') and getting a vCard with that field silently missing.
  • Expecting fields beyond name/email/phone/org/title (like address or birthday) to carry over; they aren't supported.

Tips

  • If a field is missing from the output, check the exact header spelling against the recognized aliases list in the FAQ.
  • Pair with vCard to CSV Converter to verify the round trip before importing contacts into another app.

References

Frequently Asked Questions