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:
- vCard 3.0 — RFC 2426 (1998). The most widely supported version. Used by iPhone, Android, Outlook, Gmail, and virtually every contact app.
- vCard 4.0 — RFC 6350 (2011). Adds features like multiple value types and XML representation, but device support is inconsistent.
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 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:
- Under 150 characters — Very easy to scan. Name, phone, and email only. QR code is compact with large modules.
- 150–300 characters — The sweet spot. Includes name, title, company, phone, email, website, and address. Scans reliably at 2×2 cm or larger.
- 300–500 characters — Still works but requires a larger print size (at least 3×3 cm). The QR code will have noticeably smaller modules.
- 500+ characters — Risk zone. Notes, multiple phone numbers, and long addresses push into this range. May fail on older phones or small prints. Consider trimming optional fields.
- 1,000+ characters — Likely unscannable on a business card. Embedded photos (base64) easily exceed this. Use a URL-based
PHOTOfield instead.
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:
-
Missing BEGIN:VCARD or END:VCARD
Both markers are required. Without them, the phone treats the data as plain text, not a contact.
-
Wrong or missing VERSION line
The
VERSION:3.0line must appear immediately afterBEGIN:VCARD. Omitting it or puttingVERSION:2.1(the legacy format) causes parsing failures on modern devices. -
Missing FN (full name) field
FNis required in vCard 3.0. Without it, some devices save the contact with a blank name or refuse to import it. -
Wrong semicolons in the N field
The
Nfield has five components separated by semicolons: Last;First;Middle;Prefix;Suffix. WritingN:Jane Smithinstead ofN:Smith;Jane;;;puts the full name in the last-name slot. -
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=URIURL reference instead. -
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. -
Blank lines inside the vCard
Empty lines between properties can break parsers. Every line inside
BEGIN/ENDshould 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.