← Home

vCard QR Code Format Explained: Fields, Syntax & Examples

A complete technical reference for the vCard (VCF) format used inside QR codes — every field, correct syntax, version differences, and common mistakes to avoid.

What Is the vCard (VCF) Format?

vCard is an open standard for storing contact information in a plain-text file with the .vcf extension. When a phone scans a vCard QR code, it reads this text and offers to save the contact directly to the address book.

The format is defined by two RFCs:

Every vCard starts with BEGIN:VCARD and ends with END:VCARD. Between those markers, each line defines one property (field) in the format PROPERTY:value. The entire block is encoded as text inside the QR code.

Complete Field Reference with Examples

Below is every vCard 3.0 property commonly used in QR codes. Use this as a reference when building or debugging your contact codes.

Property Purpose Example
BEGIN:VCARD Start marker (required) Always first line
VERSION vCard version (required) VERSION:3.0
N Structured name (Last;First;Middle;Prefix;Suffix) N:Smith;Jane;;Dr.;
FN Full display name (required) FN:Dr. Jane Smith
ORG Company / organization ORG:Acme Corp
TITLE Job title TITLE:Marketing Director
TEL Phone number (with type) TEL;TYPE=CELL:+1-555-123-4567
EMAIL Email address (with type) EMAIL;TYPE=WORK:jane@acme.com
URL Website URL:https://acme.com
ADR Address (PO;Ext;Street;City;State;Zip;Country) ADR;TYPE=WORK:;;123 Main St;Boston;MA;02101;USA
NOTE Free-text note NOTE:Met at CES 2026
PHOTO Photo (URL or base64) PHOTO;VALUE=URI:https://example.com/photo.jpg
END:VCARD End marker (required) Always last line

The N field uses semicolons to separate name components. Empty components are still marked with semicolons (e.g., N:Smith;Jane;;; for no prefix or suffix). The ADR field works the same way with seven semicolon-separated parts.

Full vCard Example (Copy-Paste Ready)

Here’s a complete vCard 3.0 block ready to encode into a QR code. This is exactly what our free vCard QR code generator produces:

BEGIN:VCARD
VERSION:3.0
N:Smith;Jane;;Dr.;
FN:Dr. Jane Smith
ORG:Acme Corp
TITLE:Marketing Director
TEL;TYPE=CELL:+1-555-123-4567
TEL;TYPE=WORK:+1-555-987-6543
EMAIL;TYPE=WORK:jane@acme.com
URL:https://acme.com
ADR;TYPE=WORK:;;123 Main St;Boston;MA;02101;USA
NOTE:Head of global marketing
END:VCARD

This example is about 280 characters — well within the ideal range for a scannable QR code on a business card. Every line break is significant; the vCard format uses CRLF (carriage return + line feed) as the line separator per the RFC spec, though most devices also accept plain LF.

You can add or remove fields as needed. The only truly required properties are BEGIN, VERSION, FN, and END. Everything else is optional but recommended for a useful contact entry.

vCard 3.0 vs 4.0: Which Version for QR Codes?

The short answer: use vCard 3.0. Here’s a detailed comparison:

Feature vCard 3.0 (RFC 2426) vCard 4.0 (RFC 6350)
iPhone support Full Partial
Android support Full Varies by device
Outlook / Gmail Full Partial
TYPE parameter syntax TEL;TYPE=CELL:... TEL;TYPE=cell;VALUE=uri:tel:...
N field Required Optional (can use FN only)
XML/JSON representation No Yes (xCard, jCard)
Recommended for QR codes ✓ Yes ✗ No

vCard 4.0 introduced useful features for server-to-server contact sync, but those features add complexity without benefit inside a QR code. The 4.0 TYPE parameter syntax is longer (using more QR code space), and many phones still don’t fully parse 4.0 contacts from QR scans.

Our generator uses vCard 3.0 by default for maximum compatibility. For a deeper format comparison, see our MeCard vs vCard guide.

QR Code Density and Data Length

Every character in your vCard adds modules (the tiny black/white squares) to the QR code. More data means a denser code that’s harder to scan, especially when printed small on a business card.

Here are practical guidelines:

Higher error correction levels (M, Q, H) add redundancy that further increases density. Our generator uses error correction level M by default, which balances reliability with data capacity. If you add a logo overlay, the error correction increases to H — keep your vCard data shorter in that case.

For print-ready QR codes, always test your code at the final print size before ordering cards.

Common vCard Formatting Mistakes

These errors cause QR codes to fail silently — the phone scans the code but shows raw text instead of a “Save Contact” prompt:

  1. Missing BEGIN:VCARD or END:VCARD

    Both markers are required. Without them, the phone treats the data as plain text, not a contact.

  2. Wrong or missing VERSION line

    The VERSION:3.0 line must appear immediately after BEGIN:VCARD. Omitting it or putting VERSION:2.1 (the legacy format) causes parsing failures on modern devices.

  3. Missing FN (full name) field

    FN is required in vCard 3.0. Without it, some devices save the contact with a blank name or refuse to import it.

  4. Wrong semicolons in the N field

    The N field has five components separated by semicolons: Last;First;Middle;Prefix;Suffix. Writing N:Jane Smith instead of N:Smith;Jane;;; puts the full name in the last-name slot.

  5. Embedding a base64 photo

    A small JPEG headshot encoded in base64 adds 10,000–30,000 characters — far beyond what a printable QR code can hold. Use a PHOTO;VALUE=URI URL reference instead.

  6. Special characters not escaped

    Commas, semicolons, and backslashes inside values must be escaped with a backslash (\, \; \\). Unescaped semicolons in an address or note will corrupt the field structure.

  7. Blank lines inside the vCard

    Empty lines between properties can break parsers. Every line inside BEGIN/END should contain a property.

The easiest way to avoid all of these issues is to use a dedicated vCard QR code generator that handles the formatting automatically. Our tool produces correctly formatted vCard 3.0 output and lets you test the scan before downloading.

Frequently Asked Questions

What format do vCard QR codes use?

vCard QR codes encode contact data in the VCF (Virtual Contact File) format, an open standard defined by RFC 2426 (version 3.0) and RFC 6350 (version 4.0). The QR code contains plain-text vCard syntax starting with BEGIN:VCARD and ending with END:VCARD.

Should I use vCard 3.0 or 4.0 for QR codes?

Use vCard 3.0. It has near-universal compatibility across iPhone, Android, Outlook, and Gmail. vCard 4.0 adds features like multiple value types and XML support, but device and app compatibility is inconsistent — some phones ignore 4.0 fields or fail to parse the contact entirely.

How many characters can a vCard QR code hold?

A standard QR code can hold up to about 4,296 alphanumeric characters at the lowest error correction level. However, for reliable scanning on business cards, keep your vCard data under 300 characters. More data means a denser QR code with smaller modules that are harder to scan.

Can I put a photo in a vCard QR code?

Technically, vCard supports a PHOTO field with base64-encoded image data. In practice, embedding a photo makes the QR code far too dense to scan reliably — a small headshot can add 10,000+ characters. Instead, use a URL link to a hosted photo or profile page.

What is the difference between vCard and MeCard format?

vCard (VCF) is an open standard with full contact field support including job title, organization, address, notes, and photo. MeCard is a simpler format created by NTT DoCoMo that uses fewer characters but supports fewer fields. vCard is the recommended format for professional use. See our full MeCard vs vCard comparison for details.

Related Resources

Create Your Free vCard QR Code

Skip the manual formatting. Our generator builds a correctly formatted vCard 3.0 QR code automatically — just enter your details and download.