👤CSV→VCF

VCF File Creator — Type a Few Contacts, Download a vCard

When you have one to twenty contacts in your head, on paper, or in a chat, there is no spreadsheet worth building. Create a VCF file online instead: type the names, phones and emails into the form, pick vCard 2.1, 3.0 or 4.0, and download a .vcf — entirely in the browser, nothing uploaded, no signup. A whole address book still belongs on the CSV to VCF converter: that tool maps columns and previews every row. This page is the small-list case.

👤
Written by Casey Marlin · Last updated
This update: form rows use the same generator as the CSV converter; its 2.1, 3.0 and 4.0 output is covered by scripts/test-convert.mjs
Form fields mapping to vCard properties: full name to FN, first and last to N, mobile to TEL;TYPE=CELL, email to EMAIL, company and title to ORG and TITLE, address to ADR, website and notes to URL and NOTE
Open a .vcf to edit (optional)
Contact 1

3.0 — Android, iPhone, Google Contacts, iCloud. 2.1 old phones/SIM tools · 3.0 Android/iPhone/Google/iCloud · 4.0 modern apps.

0 contacts · 1 skipped (no name, phone or email)

100% in your browser — your contacts never leave your device

When you'd create a VCF by hand

A spreadsheet is the right tool when you have fifty rows. It is the wrong tool when you have a name, a mobile number and maybe an email sitting in a chat, on a sticky note, or still in your head. This page is for that smaller case: type the fields, download a .vcf, import it. No file to prepare, no columns to map.

Typical uses: a new employee's contact card for the rest of the team; five vendor numbers a colleague messaged you this morning; moving a handful of relatives onto a parent's new phone; turning the block of details under an email signature into something a phone can actually save. None of those are worth opening Excel for.

If the list is already a spreadsheet — CSV, XLSX, a Google Sheets export — use the CSV converter on the homepage instead. That tool maps columns, previews every row and can zip one vCard per contact. Pasting a messy block of text belongs on Text to VCF. Three different inputs, one output format.

What the creator writes into the file

Each contact becomes one vCard block. The generator is the same one the CSV and Excel converters use. A block is, in order: BEGIN:VCARD, VERSION (2.1, 3.0 or 4.0 — whatever you picked), N and FN (structured name and display name), ORG, TITLE, TEL;TYPE=CELL for the mobile number (vCard 2.1 writes TEL;CELL; 4.0 writes TEL;TYPE=cell) plus a second TEL with the type you picked for Phone 2, then EMAIL (one line per filled email field), ADR, URL and NOTE when you filled those in, and END:VCARD. Empty optional fields are omitted, not written as blank properties.

BEGIN:VCARD
VERSION:3.0
N:Chen;Mei;;;
FN:Mei Chen
TEL;TYPE=CELL:+14155550198
END:VCARD

Lines are joined with CRLF (carriage return + line feed), which is what the vCard specs require. Non-ASCII names — accents, CJK, Arabic — are written as UTF-8 in vCard 3.0 and 4.0; vCard 2.1 uses CHARSET=UTF-8 and quoted-printable for those values. You do not encode anything yourself; the library handles it. A row with only a phone number still gets a valid FN (the number is used as a fallback display name) so importers that require FN do not reject the card.

One .vcf with many contacts, or one per contact?

A .vcf file is just vCard blocks concatenated. Phones and Google Contacts are happy to import one file that contains twenty BEGIN:VCARDEND:VCARD blocks — that is the usual way to move a small list. This creator always writes that single file.

Some CRMs, email-signature tools and “attach a vCard” features want one contact per file, named after the person. This form does not zip individuals. If you need that, put the same people in a spreadsheet and use the CSV converter's “Zip of one .vcf per contact” option. If you already have several .vcf files and want them in one, that is Merge VCF, not this page.

Phone numbers: write them so they import cleanly

Write the number the way you want it stored. A leading plus and country code (+1 415 555 0198, +44 7700 900123) survives the round-trip on Android, iPhone and Google Contacts. Spaces, dashes and parentheses are fine — they are copied into the TEL line as-is.

Do not put two numbers in one field (415-555-0198 / 415-555-0100). The creator will not split them; the phone will store a single broken TEL. Put the second number in Phone 2 (under More fields; its type defaults to work), add another contact row, or use the CSV converter if you have a proper mobile/work split across a whole list. A row with only a number and no name is valid: the vCard still gets an FN so importers that require a formatted name do not drop it.

Getting the .vcf onto your phone

Download the file, then follow the same import path you would for any other vCard. On iPhone or iCloud, see the iPhone guide; on Android or Google Contacts, see the Android guide. The steps do not change once you have the file.

On a computer, opening the .vcf often launches the system Contacts app. On a phone, tapping the downloaded file usually offers “Add to Contacts” or “Import”. iCloud.com → Contacts → the gear → Import vCard is the reliable desktop path onto an iPhone. Nothing on this page talks to iCloud or Google for you — the file is built in the tab; getting it onto a device is a local import, which is the point. If the file is on a computer and the phone is in your hand, AirDrop, a USB cable, email or Drive will move it; after that the import steps are the same as the guides.

VCF File Creator — FAQ

  • Is anything uploaded when I create a VCF from this form?

    No. The fields you type never leave the tab. There is no upload endpoint and no account. The vCard is assembled with JavaScript on your device; you can load the page, disconnect from the network, and still download a .vcf. That is the same privacy model as the CSV and Excel converters on this site.

  • Which vCard version should I pick?

    vCard 3.0 is the safe default — Android, iPhone, Google Contacts and iCloud all accept it. Use 2.1 only for old feature phones, SIM-card tools or some car head units. Pick 4.0 when a modern app specifically asks for it. The live preview updates as you switch so you can see the VERSION line and the slightly different TEL/EMAIL parameters.

  • Can I add a photo to the vCard?

    No — not in this creator. It writes name, phone, email, company, title, address, website and notes. PHOTO is out of scope here — the generator has no photo field. Add a picture after import in the phone's Contacts app if you need one.

  • How many contacts can I put in one file?

    The form is built for a handful: roughly 1–20 people you can type without wanting a spreadsheet. There is no hard cap — each “Add another contact” appends a row — but hundreds of contacts belong in a CSV or Excel sheet and the converters on this site, which map columns and preview every row.

  • What if I only have a phone number, no name?

    That is enough. A row is kept if it has a full name, a first or last name, a number in Mobile or Phone 2, or an address in Email or Email 2. Number-only cards still get an FN (the number itself) so importers that require a formatted name do not drop them. Rows with none of those are skipped, not written as empty vCards.

  • Can I edit a vCard I already have?

    Yes. The “Open a .vcf to edit (optional)” control above the form loads an existing file into these rows. The VCF Editor page at /vcf-editor opens with that loader front and centre and spells out what is not carried over on re-save: photos, custom X- fields, birthdays, and a third phone or email per contact. To rewrite a whole address book, convert VCF to CSV, edit the sheet, and convert back.

  • Does the VCF file creator work on a phone?

    Yes. The form is usable in a mobile browser — type a few contacts, download the .vcf, tap the file and choose Add to Contacts or Import. A phone is a reasonable place to capture three numbers you were just given. For a spreadsheet, a desktop browser is more comfortable.

Form rows go through the same generator as the CSV converter; its 2.1, 3.0 and 4.0 output is covered by scripts/test-convert.mjs. Last checked: August 26, 2026. About this site