Home › Developer Tools › CSV to VCF Converter

CSV to VCF Converter

Convert a contacts CSV from Excel, Google Sheets, Outlook or any CRM into a single .vcf file that phones and email apps can import. Columns are matched to vCard fields automatically and you can fix any match before downloading.

Last updated:

1Add your contacts CSV
2Match columns to contact fields guessed automatically, change any that are wrong
3Create the VCF file
Advertisement
Advertisement

How to use the CSV to VCF Converter

  1. Add your CSV: drop the file, choose it, or paste the rows. In Excel or Google Sheets use File > Save As / Download > CSV first.
  2. Check the column matches in step 2. Each column shows an example value; set unneeded columns to Ignore.
  3. Choose vCard 3.0 for the best compatibility, or 4.0 if your app asks for it. Add a country code such as +1 if your numbers are local.
  4. Preview the contacts and press Download VCF.
  5. Import the .vcf on your phone, in Google Contacts (Import), Outlook or Apple Contacts (File > Import).

How CSV columns become vCard lines

CSV column (example)vCard 3.0 lineNotes
First Name, Last NameN:Ruiz;Ana;;; and FN:Ana RuizN holds family;given;middle;prefix;suffix. FN is the display name
Mobile PhoneTEL;TYPE=CELL,PREF:+1 512 555 0101The first phone is marked preferred
Work PhoneTEL;TYPE=WORK,VOICE:415-555-0199Fax uses TYPE=WORK,FAX
E-mail AddressEMAIL;TYPE=INTERNET,PREF:[email protected]Personal and work emails add HOME or WORK
Company, DepartmentORG:Pine & Co;DesignCommas inside values are escaped as \,
Job TitleTITLE:Designer
Street, City, State, ZIP, CountryADR;TYPE=HOME:;;12 Oak St;Austin;TX;78701;USASeven parts; the first two (PO box, extended) stay empty
BirthdayBDAY:1990-04-12Accepts 1990-04-12, 04/12/1990 (US order) and 12.04.1990
WebsiteURL:https://example.comhttps:// is added when missing
NotesNOTE:Met at the design meetupLine breaks become \n
GroupsCATEGORIES:Friends,WorkGoogle's ::: separated groups are split

Preparing the spreadsheet

  • One contact per row, with a header row naming each column. Header names such as First Name, Last Name, Mobile, Email, Company are matched automatically.
  • Keep phone numbers as text so Excel does not remove a leading + or 0 or show them in scientific notation. Use the international format (+1, +44, +61…) when contacts are in different countries.
  • Save as CSV UTF-8 in Excel, or File > Download > CSV in Google Sheets. Semicolon-separated files from European versions of Excel are detected automatically.
  • Full name only? Map it to Full name. The tool splits it into first and last name for the N field, using the last word as the family name.

vCard 3.0 vs 4.0 at a glance

vCard 3.0 (RFC 2426)vCard 4.0 (RFC 6350)
CompatibilityNearly universalModern apps; some older phones misread it
Phone typeTEL;TYPE=CELLTEL;TYPE=cell;PREF=1
BirthdayBDAY:1990-04-12BDAY:19900412
Required fieldsVERSION, N, FNVERSION, FN
Character setUTF-8 in practiceAlways UTF-8

Frequently asked questions

What is a VCF file?

A VCF file (vCard) is the standard format for electronic business cards. One file can hold any number of contacts, each between BEGIN:VCARD and END:VCARD, with lines such as FN for the display name, TEL for phone numbers and EMAIL for addresses. iPhone, Android, Google Contacts, Outlook and Apple Contacts can all import it.

Which vCard version should I choose?

Choose 3.0 unless you have a reason not to: it is defined in RFC 2426 and is accepted by practically every phone and email program. vCard 4.0 (RFC 6350, 2011) is newer and supports a few extra features, but some older apps and phones import it incorrectly.

How do I import the VCF into an iPhone?

The simplest way is iCloud: sign in at icloud.com, open Contacts, click the + or gear menu and choose Import Contact, then select the .vcf file. Contacts then sync to the iPhone. You can also email or AirDrop the .vcf to yourself and tap it to add all contacts.

How do I import the VCF into Android or Google Contacts?

Open contacts.google.com, choose Import and select the .vcf file; the contacts sync to every Android phone signed in to that Google account. On the phone itself, the Contacts app usually has Settings > Import > .vcf file.

Why do my phone numbers or accents look wrong?

Spreadsheet apps often turn phone numbers into numbers and drop the leading + or 0, so format the phone column as text before saving the CSV. For names with accents, save the CSV as UTF-8 (Excel: CSV UTF-8). If a file is not UTF-8, this tool falls back to Windows-1252 decoding, which fixes most Western European characters.

Can one CSV row have several phone numbers or emails?

Yes. Map each column to its own field, for example Phone: mobile, Phone: work and Email: work. Every non-empty value becomes its own TEL or EMAIL line, and the first one is marked as preferred. Several emails in one cell separated by semicolons are split automatically.

Are my contacts uploaded?

No. The CSV is read and converted by JavaScript in your browser, and the .vcf is created on your device. No contact data is sent anywhere.

Are all the tools on FreeToolCabin tested for quality and accuracy?

Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.

Related tools

VCF to CSV ConverterConvert vCard (.vcf) contacts to CSV for Google or Outlook, or turn a CSV back into a VCF.CSV ViewerOpen a CSV or TSV file as a sortable, filterable table.CSV to JSONConvert CSV data to JSON with live preview.CSV MergerCombine many CSV files into one, matching columns by name, with dedupe and a source column.JSON to Excel ConverterTurn JSON into a styled .xlsx spreadsheet; nested arrays become their own linked sheets.JSON to CSVConvert JSON data to CSV for spreadsheets.Excel to CSVConvert XLSX spreadsheets to CSV.Excel Viewer (XLSX / XLS)Open XLSX, XLS and ODS spreadsheets in your browser without Excel.Line Ending ConverterConvert text and files between CRLF, LF and CR line endings.Markdown to HTMLConvert Markdown to clean HTML with a live editor.XML to JSONConvert XML to JSON with validation.Text Encoding ConverterDetect and convert text file encodings like UTF-8, UTF-16 and Latin-1.JSON ViewerExplore JSON as a collapsible tree, search keys and values and copy any node's path.TTF to WOFF2 ConverterConvert TTF and OTF fonts to WOFF2 or WOFF and get a ready @font-face CSS snippet.Chmod CalculatorConvert Linux file permissions between checkboxes, octal (755) and symbolic (rwxr-xr-x) notation.JSON to TypeScriptGenerate TypeScript interfaces or types from JSON, with nested types and optional fields.Morse Code TranslatorTranslate text to Morse code and back, then play it as sound or a blinking light, or save a WAV.HTML Table GeneratorBuild HTML tables in an editable grid with styles, header rows, CSV import and live preview.Hex to Text ConverterConvert hex to text and text to hex with UTF-8 support and space, 0x, \x or comma formats.JSON to XML ConverterConvert JSON to well-formed XML with attributes, arrays and pretty print.JSON to YAML ConverterConvert JSON to clean YAML as you type, with indent, quoting and sort options.YAML to JSON ConverterConvert YAML to pretty or minified JSON, with errors pinned to the exact line.HTML to Markdown ConverterTurn HTML or pasted rich text into clean Markdown with tables and live preview.Markdown Table GeneratorBuild Markdown tables in a grid or paste from Excel/CSV, with alignment and preview.JSON ValidatorCheck JSON with the exact line and column of each error, fix tips and one-click auto-fix.Image to Base64Convert images to Base64 data URIs, CSS backgrounds and HTML img tags in your browser.Base64 to ImagePaste a Base64 string or data URI to preview, identify and download the image.JSON CompareCompare two JSON documents and see every added, removed and changed path.Hex to DecimalConvert hex to decimal instantly with steps and signed mode.Decimal to HexConvert decimal to hex instantly with steps and signed mode.Binary to DecimalConvert binary to decimal instantly with steps and signed mode.Decimal to BinaryConvert decimal to binary instantly with steps and signed mode.Two's Complement CalculatorDecimal to two's complement binary and back for 4-64 bits, with invert-and-add-1 steps.XML to CSV ConverterConvert XML to CSV: detects repeating records, flattens nested data, pick your columns.CSV to XML ConverterConvert CSV to well-formed XML with custom root and row names, escaping and pretty print.TOML to JSON ConverterConvert TOML to JSON and JSON to TOML with a full v1.0 parser and clear error lines.JSON to Go StructTurn JSON into Go structs with inferred types, nested structs and json tags.JSON to Python ClassGenerate Python dataclasses, Pydantic models or TypedDicts with type hints from JSON.CSV Column ExtractorPick, reorder and rename CSV columns, filter rows by value, and export a new CSV or JSON.CSV Diff CheckerCompare two CSV files by key column and see added, removed and changed rows cell by cell.CSV Duplicate Row RemoverRemove duplicate rows from a CSV by all or selected columns and download the cleaned file.CSV to HTML TableTurn CSV into clean HTML table code with a live preview, styling options and one-click copy.CSV to Markdown TableConvert CSV to a neatly aligned GitHub Markdown table with column alignment and live preview.CSV TransposeSwap rows and columns of CSV, TSV or pasted spreadsheet data, with delimiter auto-detect.Date Format ConverterConvert any date to ISO 8601, RFC 2822, Unix time and custom strftime, moment or Java patterns.ENV to JSON ConverterConvert .env files to JSON or YAML and JSON back to .env, with quotes and multiline values.File to Base64Convert any file to a Base64 string or data URI with MIME detection, line wrap and download.HTML Table to CSVExtract any table from HTML or page source to CSV, TSV or JSON, with colspan and rowspan handled.IEEE 754 Floating Point ConverterConvert decimals to 32/64-bit IEEE 754 floats: toggle bits, see hex, exact value and rounding error.INI to JSON ConverterConvert INI and CFG files to JSON and JSON back to INI, with sections, arrays and types.IP Address ConverterConvert IPv4 to decimal, hex, binary, octal and back, with class and private/public check.ISBN Converter & ValidatorConvert ISBN-10 to ISBN-13 and back, validate check digits and hyphenate, one or in bulk.JSON Flatten / UnflattenFlatten nested JSON to dot or bracket path keys, or unflatten flat keys back to nested JSON.JSON to Dart ClassTurn JSON into Dart model classes with fromJson, toJson, null safety and nested classes.JSON to Java ClassTurn JSON into Java POJOs or records with Lombok, getters/setters and Jackson or Gson annotations.JSON to Kotlin Data ClassTurn JSON into Kotlin data classes for kotlinx.serialization, Gson, Moshi or Jackson.JSON to Markdown TableTurn a JSON array of objects into a GitHub Markdown table with column picker and alignment.JSON to PHP ArrayConvert JSON to PHP array code (short [] or array()) and PHP arrays back to JSON.JSON to Rust StructTurn JSON into Rust structs with serde derives, rename attributes, Option and Vec types.JSON to SQL ConverterConvert a JSON array of objects to CREATE TABLE and INSERT statements for MySQL, Postgres, SQLite.JSON to Swift StructTurn JSON into Swift Codable structs with CodingKeys, optionals and nested types.JSON to TOML ConverterConvert JSON to clean TOML with tables, arrays of tables, inline tables and dates.JSONL to JSON ConverterConvert JSON Lines / NDJSON to a JSON array and back, with line-level error reports.Properties to YAML ConverterConvert Java .properties to nested YAML (application.yml) and YAML back to properties.PX to EM ConverterConvert pixels to em using the parent font size, and em back to px, with conversion tables.Query String to JSONConvert URL query strings to JSON with nested brackets and arrays, and JSON back to a query string.REM to PX ConverterConvert CSS rem values to pixels for any root font size, with a quick 0.25–6rem table.SQL to JSON ConverterConvert SQL INSERT statements and dumps into a JSON array of row objects, with CSV export.
See all 129 Data & File Format Converters →