vCard Format Guide — vCard 2.1 vs 3.0 vs 4.0 Explained
A complete reference to the vCard standard for electronic contact interchange, covering all major versions and practical conversion advice.
Introduction to the vCard Format
vCard, also known as VCF (Virtual Contact File), is a file format standard for electronic business cards and contact information exchange. Developed by the Internet Mail Consortium (IMC) and later standardized by the IETF as RFC 2426 and RFC 6350, vCard is supported by virtually every email client, smartphone operating system, contact management application, and CRM platform. Understanding the differences between vCard versions is crucial for successfully transferring contacts between different systems without data loss.
The vCard format has gone through three major versions: 2.1, 3.0, and 4.0. Each version introduced improvements in encoding, structure, and feature support. Version 2.1 was the first widely adopted standard. Version 3.0 brought UTF-8 support and cleaner structure. Version 4.0 added XML representations, extended datetime handling, and improved internationalization. Choosing the right version for your use case depends on the target application and the complexity of your contact data.
History of the vCard Format
The vCard specification originated in 1995 as a proposal by Versit Consortium (founded by Apple, AT&T, IBM, and Siemens) to create a universal format for electronic business cards. The first widely deployed version was vCard 2.1, which became the default contact format for early email clients and personal digital assistants. In 1998, the IETF published RFC 2426, standardizing vCard 3.0 with significant improvements. The latest version, vCard 4.0, was published as RFC 6350 in 2011, adding support for XML, improved date/time handling, and better internationalization. Despite version 4.0 being the most recent standard, vCard 3.0 remains the most widely supported version across devices and applications.
vCard 2.1
vCard 2.1 was the first widely adopted version of the standard. It uses quoted-printable encoding for non-ASCII characters, which means special characters in names, addresses, and notes are encoded as equals signs followed by hexadecimal values. This encoding was designed for compatibility with email systems in the 1990s. vCard 2.1 has limited type support: phone numbers can have types like HOME, WORK, FAX, and CELL, but addressing is less structured than later versions. Many legacy devices, including older mobile phones and early versions of Microsoft Outlook, export contacts exclusively in vCard 2.1 format.
Quoted-Printable Encoding
One of the defining features of vCard 2.1 is quoted-printable (QP) encoding. In QP, any character outside the ASCII range is encoded as an equals sign followed by its two-digit hexadecimal code. For example, the character "é" becomes "=E9". Lines can be split with equals signs at the end of continuation lines. This encoding makes vCard 2.1 files less human-readable than later versions, and it complicates parsing, especially when contact data includes accented characters or non-Latin scripts.
vCard 3.0
vCard 3.0, standardized as RFC 2426, was a major improvement over version 2.1. The most significant change was the adoption of UTF-8 as the default character encoding, eliminating the need for quoted-printable encoding. vCard 3.0 introduced structured name components: the N property now has family name, given name, middle name, prefix, and suffix fields. The ADR property was similarly structured with street, locality, region, postal code, and country fields. vCard 3.0 also added support for multiple email addresses per contact, improved date formatting, and the ORG property for company and department information.
Why vCard 3.0 Became the Baseline
vCard 3.0 struck the right balance between feature completeness and compatibility. It supported everything most users needed: multiple phone numbers and emails, structured names and addresses, contact photos, birthdays, and notes. It was adopted by Apple's Address Book, Android's Contacts app, Google Contacts, and most CRM platforms. Today, vCard 3.0 is the safest choice for contact interchange because virtually every modern application can import and export it correctly.
vCard 4.0
vCard 4.0, standardized as RFC 6350, is the most recent version of the format. It introduced an XML representation called xCard, defined in RFC 6351. vCard 4.0 added support for extended datetime values using ISO 8601 format, including partial dates and date ranges. It also introduced the KIND property to distinguish between individual contacts, organizations, groups, and locations. The LANG property allows specifying the language of contact data. vCard 4.0 also improved support for social media profiles and instant messaging handles through the IMPP property. Despite these improvements, vCard 4.0 adoption has been slow, and many applications still default to vCard 3.0 for export.
How Contacts Are Stored in vCard Files
A vCard file can contain one or more contacts, each delimited by BEGIN:VCARD and END:VCARD markers. Each contact has a VERSION property indicating the vCard version used. The FN property specifies the formatted name (display name). The N property holds the structured name components. TEL properties store phone numbers with TYPE parameters for HOME, WORK, CELL, FAX, and other categories. EMAIL properties hold email addresses. ADR properties contain mailing addresses. PHOTO embeds or references a contact photo. BDAY stores the birthday. NOTE allows arbitrary text notes. Additional properties like URL, ORG, TITLE, ROLE, and IMPP provide further contact details.
Comparison Table
| Feature | vCard 2.1 | vCard 3.0 | vCard 4.0 |
|---|---|---|---|
| Character encoding | Quoted-printable (ASCII) | UTF-8 | UTF-8 |
| Structured names | Limited | Full (family, given, middle, prefix, suffix) | Full + KIND (individual, org, group, location) |
| Multiple emails | No | Yes | Yes |
| Contact photo | QP-encoded image | Inline base64 or URI | Inline base64 or URI |
| Date/time format | ISO 8601 (limited) | ISO 8601 | Extended ISO 8601, partial dates |
| XML representation | No | No | Yes (xCard) |
| Social/IM handles | No | No | Yes (IMPP) |
| Application support | Legacy systems, Outlook | All modern apps | Limited, growing |
Converting Between VCF and CSV/XLSX for CRM Import
CRM systems often require contact data in CSV or XLSX format rather than vCard. Converting VCF to CSV extracts each contact's properties into columns, making the data editable in a spreadsheet before import. The ConvertPivot VCF to CSV tool handles all three vCard versions, normalizing the output to consistent column headers. For Excel users, the VCF to XLSX tool produces a properly formatted spreadsheet. The reverse direction, CSV to VCF, is useful when you have contact data in a spreadsheet and need to import it into a phone or email client. The CSV to VCF tool maps spreadsheet columns to vCard properties, allowing customization of which fields to include.
Common vCard Compatibility Issues
Several issues commonly arise when transferring vCard files between different applications. Character encoding problems occur when a vCard 2.1 file with quoted-printable encoding is opened in an application that expects UTF-8. Photo embedding can cause compatibility issues: some applications expect inline photos while others prefer external references. Multiple vCard contacts in a single file (a vCard bundle) may not be recognized by all applications. Phone number formatting varies by region, and some applications strip or modify formatting during import. Using a dedicated converter tool can resolve these issues by normalizing the vCard data before import.