An IETF-standardized electronic business card format (RFC 2426 for v3.0, RFC 6350 for v4.0) encoded into QR codes for instant contact import on iOS and Android.
The vCard format — officially named the "vCard MIME Directory Profile" — is the universally accepted standard for encoding contact information in a machine-readable, platform-independent structure. When encoded into a QR code, a vCard enables smartphone users to scan a business card, product label, or conference badge and instantly add the contact to their phone's address book without manual data entry.
vCard 3.0 vs vCard 4.0
Two versions of vCard are relevant for QR code applications:
vCard 3.0 (RFC 2426, 1998): The older standard with near-universal support. Both iOS Camera app and Android Camera/Google Lens natively parse vCard 3.0 without requiring a third-party app. Despite its age, vCard 3.0 remains the recommended version for QR code digital business cards due to its universal device support.
vCard 4.0 (RFC 6350, 2011): The modern revision with richer property types, URI-based type parameters, and mandatory UTF-8 encoding. While technically superior, vCard 4.0 has inconsistent native camera support — particularly on older Android devices and legacy desktop email clients. Use vCard 4.0 only when you can control the scanning environment and verify app compatibility.
Canonical vCard 3.0 Structure
A complete vCard 3.0 payload for a QR code:
BEGIN:VCARD
VERSION:3.0
N:Surname;GivenName;AdditionalName;Prefix;Suffix
FN:Display Name
ORG:Company Name
TITLE:Job Title
TEL;TYPE=WORK,VOICE:+12025551234
TEL;TYPE=CELL:+12025555678
EMAIL;TYPE=PREF,INTERNET:name@company.com
URL:https://company.com
ADR;TYPE=WORK:;;Street;City;State;PostalCode;Country
PHOTO;VALUE=URI:https://cdn.company.com/headshot.jpg
END:VCARD
Payload Size and QR Version Implications
Each additional field increases the character count and forces the QR code into a higher version (denser symbol). Practical guidelines:
- Minimal vCard (name + phone + email): ~80 characters → Version 3 at Level M
- Standard vCard (all fields above): ~250 characters → Version 7 at Level M
- vCard with base64 photo: 3,000+ characters → Version 25+ at Level M (often unscannable on paper)
Recommendation: Never embed base64-encoded photos directly in vCard QR codes. Instead, use a URL reference to a hosted headshot image — this keeps the payload under 300 characters and the QR code in a scannable size range.
Encoding Special Characters
vCard properties containing commas, colons, or backslashes must be escaped with a backslash:
- Comma in address:
Street\, Suite 100 - Colon in URL: vCard parsers handle colons in URLs correctly when the property type is URL
- Semicolons separate N field components — include empty fields for unused components
Diagram description: Annotated vCard 3.0 payload with each property line labeled, and a corresponding QR code showing the version (density) impact of adding vs removing the PHOTO field.
