What Are VCF Files and How to Open Them

Published on
toolstechnical

If you've ever tapped "Share contact" on your phone, exported your address book, or received someone's details via email, you've almost certainly encountered a VCF file. These small contact files are the universal language of digital address books — yet most people never think about what's inside them or how they actually work.

In this guide, we'll cover everything you need to know — from the basics of the vCard format to advanced use cases like bulk contact management, QR code sharing, and programmatic contact generation.

What is a VCF File?

A VCF file is a universal contact file format that stores personal and professional contact information as plain text. The .vcf extension stands for "vCard Format," and the format has been the standard for digital contact exchange since its introduction in 1995.

Each VCF file can contain one or more contacts, and each contact can include:

  • Name: Full name, first/last name components, prefix, suffix, and nickname
  • Phone numbers: Mobile, work, home, fax, and other types
  • Email addresses: Personal, work, and other addresses with type labels
  • Physical addresses: Street, city, region, postal code, and country — for multiple addresses
  • Organization: Company name and job title
  • Photo: Profile image, either as a URL or embedded base64-encoded data
  • Website URLs: Personal, work, or other web addresses
  • Birthday: Date of birth
  • Notes: Free-form text for any additional information
  • Social profiles: Links to LinkedIn, Twitter, and other social networks

VCF files follow the RFC 6350 standard (vCard 4.0), with earlier versions defined in RFC 2426 (vCard 3.0) and the original vCalendar 1.0 specification. This standardization makes VCF files universally compatible across contact management applications and operating systems.

What Does a VCF File Look Like Inside?

If you open a VCF file in a text editor, you'll see something like this:

BEGIN:VCARD
VERSION:3.0
FN:Jane Smith
N:Smith;Jane;Marie;Dr.;PhD
ORG:Acme Corp
TITLE:Head of Engineering
EMAIL;TYPE=WORK:jane.smith@acme.com
EMAIL;TYPE=HOME:jane@personal.example.com
TEL;TYPE=CELL:+1-555-123-4567
TEL;TYPE=WORK:+1-555-987-6543
ADR;TYPE=WORK:;;100 Innovation Drive;San Francisco;CA;94105;USA
URL:https://jane.example.com
BDAY:1985-04-12
NOTE:Met at TechConf 2026. Works on distributed systems.
X-SOCIALPROFILE;TYPE=linkedin:https://linkedin.com/in/janesmith
END:VCARD

The file starts with BEGIN:VCARD and ends with END:VCARD. Properties are defined as key-value pairs, one per line, using PROPERTY:VALUE syntax. Parameters — like TYPE=WORK — add metadata about a property and are separated from the property name by a semicolon.

Some key fields to understand:

  • FN: The formatted full name, intended for display. This is distinct from N, which breaks the name into components.
  • N: Structured name in the format LastName;FirstName;MiddleName;Prefix;Suffix
  • TYPE parameter: Categorizes a field — WORK, HOME, CELL, FAX, etc. Multiple types can be combined: TYPE=WORK,VOICE
  • ENCODING=b: When a photo is embedded rather than linked, it is base64-encoded in the value
  • X- properties: Custom extension fields — used for social profiles and any app-specific data not covered by the standard

How VCF Files Work with Email

Contact files and email are closely intertwined. VCF files are routinely sent as email attachments when someone shares their contact details, and email clients often generate them automatically.

Sharing Contacts via Email

When you tap "Share contact" on a smartphone or export from a desktop address book, the app generates a .vcf file and attaches it to an email. The recipient can then:

  1. Click the attachment in their email client
  2. Their device or app detects the .vcf format
  3. A prompt appears to add the contact to their address book
  4. The contact is imported with all the original fields intact

Most modern email clients — Gmail, Apple Mail, Outlook — detect VCF attachments and show an inline "Add to Contacts" button rather than just a plain file attachment.

Auto-generated Business Card Signatures

Some email clients support attaching a vCard automatically to every outgoing email as part of the signature. Recipients can then save the sender's contact details with a single click. This is configured in:

  • Outlook: File > Options > Mail > Signatures > vCard options
  • Thunderbird: Account Settings > Signature > Attach my vCard
  • Apple Mail: not supported natively, but third-party tools can add this

Email Clients and vCard Preview

When email clients encounter a VCF attachment, they typically render a contact preview — showing the name, photo (if present), and key details — rather than offering a raw file download. This is analogous to how calendar invitations in ICS files are rendered inline with Accept/Decline buttons.

VCF vs. Other Contact Formats

vCard Versions

The vCard standard has evolved through several versions:

FeaturevCard 2.1vCard 3.0vCard 4.0
RFCvCalendar draftRFC 2426RFC 6350
EncodingQuoted-printable / Base64Base64 (ENCODING=b)UTF-8 native
PhotoInline or URLInline or URLInline, URL, or data URI
TimezoneBasicBasicFull IANA timezone IDs
Social profilesVia X- extensionsVia X- extensionsNative (KIND, IMPP)
Multiple valuesLimitedSemicolon-separatedFull multi-value support
StatusLegacy (common on older phones)Widely usedModern standard

Most VCF files you encounter today are vCard 3.0, since it has the broadest compatibility across mobile operating systems and contact management apps. vCard 4.0 is more capable but less universally supported.

VCF vs. CSV

FeatureVCFCSV
Use caseContact exchange between appsBulk import/export to spreadsheets and CRMs
Photo supportYes (embedded or URL)No
Multiple values per fieldYes (multiple TEL, EMAIL lines)Typically not — needs separate columns
Standardized field namesYes (RFC-defined)No — column names vary by app
Human readabilityHighVery high
Machine parseabilityModerate (structured but irregular)High (tabular)

VCF is better for moving contacts between address book applications. CSV is better for bulk operations in spreadsheets or CRMs where you need to manipulate data in bulk.

VCF vs. LDIF

LDIF (LDAP Data Interchange Format) is used in enterprise directory services like Active Directory. Like VCF, it stores contact information as plain text, but uses a different schema aligned with LDAP attributes. LDIF is primarily seen in corporate IT environments; VCF is the standard for consumer contact sharing.

Common Use Cases for VCF Files

Digital Business Cards

The most traditional use case. Instead of printing paper cards, professionals share their contact details as a VCF file — via email, messaging apps, or QR code. The recipient scans or opens the file and saves it to their contacts in one tap.

Address Book Backup and Migration

When switching phones or contact management apps, exporting your contacts as a VCF file is the most reliable way to preserve all details — including photos, multiple numbers, and custom fields — without losing data to incompatible CSV column mappings.

CRM and Sales Tooling

Sales teams often exchange VCF files when sharing leads or customer contacts. CRMs like HubSpot, Salesforce, and Pipedrive all support VCF import, allowing quick onboarding of contacts collected at events or meetings.

Event Networking

Conferences and trade shows increasingly generate VCF files as part of attendee badge scanning or networking app workflows. Scanning a QR code at a booth can trigger a VCF download, allowing instant contact capture without typing.

Programmatic Contact Generation

Developers generate VCF files to pre-populate contact books in test environments, onboard users in enterprise apps, or distribute contact directories for company employees.

How to Open VCF Files

Using Our Free Online Viewer

The easiest way to inspect a VCF file is with our free vCard Viewer. Simply drag and drop your file, and it displays all the contact information in a clean, readable format — right in your browser.

Key advantages of our vCard Viewer:

  • No upload required: The file is processed entirely in your browser. Your contact data never leaves your device.
  • Full contact details: See all fields including photos, multiple phone numbers, addresses, social profiles, and custom fields
  • Multi-contact support: VCF files containing multiple contacts are each displayed individually
  • QR code export: Generate a scannable QR code for any contact so it can be saved to a phone's address book instantly — no file transfer needed
  • Mobile friendly: Works on phones and tablets
  • No account needed: No sign-up, no login — just drag, drop, and view

This is especially useful when you receive a VCF file you can't open on your current device, or when you want to inspect a contact file before importing it — or quickly share a single contact from a multi-contact VCF file via QR code.

Sharing Contacts via QR Code

Our vCard Viewer can generate a QR code for any parsed contact. The QR code encodes the contact details in standard vCard format, so any smartphone camera app can scan it and offer to save the contact directly to the address book. This is particularly useful for:

  • Sharing a contact on screen during a meeting without sending a file
  • Printing a contact QR code on a business card or badge
  • Sharing a specific contact from a bulk VCF file without extracting it manually

Using Contact Management Applications

Most contact management apps can open VCF files directly:

  • Google Contacts: Go to contacts.google.com > Import > Select file. Or, if you receive a VCF attachment in Gmail, click the attachment to preview and add the contact directly.
  • Apple Contacts (macOS): Double-click the VCF file — it will prompt you to add the contact(s). Or use File > Import.
  • Apple Contacts (iOS): Tap the VCF attachment in Mail or Files — a prompt appears to add the contact.
  • Microsoft Outlook: Go to the People view > Manage > Import Contacts > vCard (.vcf).
  • Samsung/Android Contacts: Tap the VCF file in Files or email — choose which account to import into.
  • Thunderbird: In the Address Book, use Tools > Import > vCard.

Using Text Editors

Since VCF files are plain text, you can open them in any text editor for raw inspection:

  • VS Code: Good for viewing large multi-contact VCF files with syntax highlighting (install a vCard extension)
  • Notepad++ (Windows): Handles large files cleanly
  • nano/vim (Linux/macOS): Fast inspection on the command line

Using Command-Line Tools

For power users and automation:

# Count the number of contacts in a file
grep -c "BEGIN:VCARD" contacts.vcf

# Extract all email addresses
grep "^EMAIL" contacts.vcf | cut -d: -f2

# Extract all full names
grep "^FN:" contacts.vcf | cut -d: -f2

# Extract all phone numbers
grep "^TEL" contacts.vcf | cut -d: -f2

# Split a multi-contact VCF into individual files
awk '/BEGIN:VCARD/{n++; file="contact_"n".vcf"} {print > file}' contacts.vcf

How to Create VCF Files

From Contact Apps

The simplest way to create a VCF file is to export a contact from your address book:

  • Google Contacts: Select contacts > More actions > Export > vCard (.vcf)
  • Apple Contacts: Select contacts > File > Export > Export vCard
  • Outlook: Open a contact > File > Save As > vCard Format (.vcf)
  • Android: Contacts app > Settings > Export > Save to storage as .vcf
  • iPhone: Open a contact > Scroll down > Share Contact > save or send as .vcf

Manually

Since VCF files are plain text, you can create one in any text editor. Here's a minimal valid vCard:

BEGIN:VCARD
VERSION:3.0
FN:Alex Johnson
N:Johnson;Alex;;;
EMAIL:alex@example.com
TEL;TYPE=CELL:+1-555-000-1234
END:VCARD

Save this with a .vcf extension and it can be opened by any contacts app. The minimum required fields are VERSION, FN, and END:VCARD.

Programmatically

Developers commonly generate VCF files dynamically. Here's a quick example in Python:

import vobject

card = vobject.vCard()
card.add('fn').value = 'Alex Johnson'
card.add('n').value = vobject.vcard.Name(family='Johnson', given='Alex')

email = card.add('email')
email.value = 'alex@example.com'
email.type_param = 'WORK'

tel = card.add('tel')
tel.value = '+1-555-000-1234'
tel.type_param = 'CELL'

with open('contact.vcf', 'w') as f:
    f.write(card.serialize())

And in JavaScript/Node.js:

const vcard = [
  'BEGIN:VCARD',
  'VERSION:3.0',
  'FN:Alex Johnson',
  'N:Johnson;Alex;;;',
  'EMAIL;TYPE=WORK:alex@example.com',
  'TEL;TYPE=CELL:+1-555-000-1234',
  'END:VCARD',
].join('\r\n');

fs.writeFileSync('contact.vcf', vcard, 'utf8');

Understanding vCard Encoding

Character Encoding

vCard 3.0 uses UTF-8 by default, which means names, addresses, and notes in any language — including CJK characters, Arabic, Hebrew, or accented Latin scripts — are stored and transmitted correctly without special handling.

vCard 2.1 uses quoted-printable encoding for non-ASCII characters, which you may see in older contact files from feature phones:

FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=C3=89lodie Dupont

Line Folding

The vCard standard allows long property values to be split across multiple lines. A folded line continues on the next line starting with a single space or tab:

NOTE:This is a very long note that continues
 on the next line and
 continues further here.

When parsing VCF files, any line beginning with whitespace should be treated as a continuation of the previous line. This is a common source of parsing bugs in custom implementations.

Photo Encoding

Photos can be stored in two ways:

# As a URL reference
PHOTO;VALUE=URI:https://example.com/photo.jpg

# As embedded base64 data (vCard 3.0)
PHOTO;ENCODING=b;TYPE=JPEG:/9j/4AAQSkZJRgAB...

# As a data URI (vCard 4.0)
PHOTO:data:image/jpeg;base64,/9j/4AAQSkZJRgAB...

Embedded photos make the VCF file self-contained but can result in large file sizes. URL-referenced photos keep the file small but require network access.

Security Considerations

VCF files are plain text and don't execute code, making them generally safe. However, there are a few things to be aware of:

Contact Harvesting

A malicious actor who gains access to your exported address book VCF can harvest every contact's email address and phone number in bulk. Be careful when:

  • Sharing your full address book export (use individual contact exports instead)
  • Uploading VCF files to untrusted online services
  • Sending bulk contact files over unencrypted channels

Our vCard Viewer processes files entirely in your browser — your contact data is never sent to any server.

Social Engineering via VCF

Attackers sometimes send VCF files designed to overwrite or poison an existing contact in your address book. For example, a VCF file with the same name as your CEO but with the attacker's phone number, hoping you'll call the wrong number during an impersonation attack.

Malformed VCF Files

Some VCF files from legacy systems contain encoding errors, missing END:VCARD markers, or non-standard property names. These can cause import errors or silent data loss in contact apps. Use our vCard Viewer to inspect a VCF file's contents before importing it, especially if it came from an unknown source or a legacy system.

Frequently Asked Questions About VCF Files

Can a single VCF file contain multiple contacts? Yes. A VCF file can contain any number of BEGIN:VCARD / END:VCARD blocks. When you export your entire address book, the result is typically a single VCF file with hundreds or thousands of contacts. Our vCard Viewer parses and displays each contact individually.

What's the difference between .vcf and .vcard files? Nothing — both extensions refer to the same vCard format. .vcf is by far the most common. Some systems use .vcard as the extension, but the internal format is identical.

How do I share a contact as a QR code? Open the VCF file in our vCard Viewer and click "Generate QR Code" on any contact. The resulting QR code encodes the full vCard data and can be scanned by any smartphone camera to save the contact directly to the address book.

Can I edit a VCF file? Yes — VCF files are plain text, so you can edit them in any text editor. Follow the PROPERTY:VALUE format, keep each property on its own line (or fold long lines with a leading space), and make sure every contact block has matching BEGIN:VCARD and END:VCARD markers.

Why does my imported contact have garbled characters? This is almost always an encoding issue. The VCF file may be using quoted-printable encoding (common in vCard 2.1) that your app isn't handling correctly. Open the file in our vCard Viewer to see the raw values, or try opening the file in a text editor with UTF-8 encoding selected.

How do I extract a single contact from a multi-contact VCF file? Open the file in our vCard Viewer to see all contacts individually. You can then generate a QR code for the specific contact you want to share, or copy the details manually. For bulk extraction, use the awk command shown in the command-line section above.

Are VCF files the same as digital business cards? VCF files are the file format most commonly used to exchange digital business cards — but a "digital business card" is a broader concept that can also involve QR codes, NFC tags, or dedicated apps. Under the hood, all of these typically encode or reference a vCard.

What happens if a VCF file is missing the VERSION field? Most contact apps will attempt to import it anyway, guessing the version from the properties present. However, missing VERSION is technically invalid and can cause unpredictable behaviour. Always include VERSION:3.0 (or VERSION:4.0) in any VCF file you generate.

  • vCard Viewer — Open, inspect, and share VCF contact files online, with QR code export
  • EML Viewer — View EML email files that may contain VCF contact attachments
  • iCal Viewer — View ICS calendar files, with one-click export to Google Calendar and Outlook
  • MBOX Viewer — View MBOX mailbox archives that may include emails with contact attachments
  • DNS Checker — Verify domain DNS records for email and contact service configuration
About EmailShot

Share any email easily with a simple direct link in just one click.

Install EmailShot