vCard vs MeCard contact codes
vCard
The standard electronic business card format, understood by every contacts application on every platform. It carries the full range of fields, including addresses, photos and notes, at the cost of a notably long payload.
MeCard
A compact contact syntax created by NTT DoCoMo for Japanese feature phones. It covers name, phone, email and a few other basics in roughly half the characters, and support outside phone camera apps is uneven.
Side by side
| Criterion | vCard | MeCard |
|---|---|---|
| Application supportThe gap shows up when someone scans on a laptop webcam rather than a phone. | Universal across iOS, Android, Windows, macOS and every mail client | Good in phone camera apps, patchy in desktop contact managers |
| Typical encoded length | Around 200 to 400 characters for a realistic business card | Roughly 100 to 180 characters for the same person |
| Effect on pattern densityDensity is the entire practical reason anyone considers the compact format at all. | Often pushes past 60 modules per side, which needs room to print | Usually stays under 45 modules, comfortable at business card size |
| Fields available | Names, org, title, several phones, emails, addresses, URLs, notes, photo | Name, reading, phone, email, address, URL, birthday, memo |
| Structured name handling | Separate surname and given name, so contacts sort correctly | Also splits the name, though fewer readers act on the split |
| Multiple phone numbersLosing the work-versus-mobile label is the limitation people notice first in daily use. | Unlimited, each labelled work, mobile, home or fax | Several allowed but unlabelled, so the app guesses their type |
| Version confusionThis site encodes vCard 3.0, which every current reader accepts. | Versions 2.1, 3.0 and 4.0 differ; 3.0 is the safe choice for codes | One syntax, no versioning to get wrong |
| Line ending sensitivity | Requires carriage return and line feed pairs; bare newlines break some readers | Single line, so there is nothing to get wrong |
| Escaping rules | Commas, semicolons and backslashes inside values must be escaped | Colons and semicolons are delimiters and must be escaped too |
| Best use | Anything with room to print, and any code meant to last | Very small physical codes where density is the binding constraint |
The short answer
Which one should you use?
Use vCard unless the pattern is genuinely too dense for the space you have. Universal support is worth more than compactness in almost every situation, and a vCard trimmed to name, one phone number, one email and one website encodes into a pattern very close to the MeCard equivalent — most of the size problem comes from fields nobody needed on a business card anyway. MeCard earns its place in one narrow case: a physically tiny code, on a badge or a card edge, where every module of width matters and you have tested that the audience's phones handle it. If you are unsure which side of that line you are on, encode a short link to a hosted contact page instead and sidestep the question.
Choose vCard when
- The code has room to print at three centimetres or more, which covers most business cards and every badge.
- Recipients may scan on a desktop or import the contact into a mail client rather than a phone.
- You need labelled phone numbers, a postal address, or a job title that must survive the import.
- The code will be reused for years and you want the least exotic format available.
Choose MeCard when
- The printed code has to be under about two and a half centimetres and the vCard version will not resolve there.
- The contact record is genuinely minimal — a name, one number and one email.
- You have tested the code on the actual phones your audience uses and the import is clean.
- The code sits alongside a fuller contact route, so a partial import is a convenience rather than the only path.
Common questions
Which format do phone cameras handle better out of the box?
Both are recognised by current iOS and Android camera apps, which offer to create a contact directly from either. The difference appears at the edges: desktop webcam scanners, older Android builds and third-party utilities are far more likely to understand vCard than MeCard, because vCard is what mail clients and address books were built around. If you only ever expect modern phones, the gap is small; if you cannot control that, it is a reason to choose vCard.
Why is my vCard code so dense compared to a link?
Because it is carrying the whole record rather than a pointer to one. A name, job title, organisation, two phone numbers, an email and a postal address adds up to several hundred characters, and every character costs modules. The fix is almost always to cut fields rather than to change format — dropping the postal address and the second phone number from a card that already lists a website typically removes a third of the payload.
Can I put a photo in a contact QR code?
vCard technically allows an embedded image, and you should not use it. Even a heavily compressed photograph runs to thousands of characters, which produces a pattern far beyond what any printed card can resolve and beyond what many readers will accept. If a photo matters, encode a link to a hosted contact page that includes one. This is the single most common way people accidentally generate an unscannable code.
What happens if a reader does not understand MeCard?
It falls back to showing the raw string, so the person sees something like a line beginning with the format keyword followed by semicolon-separated fields. Nothing is lost or corrupted, but the tap-to-save behaviour disappears and they have to retype the details, which defeats the purpose of the code. That failure is silent from your side — you will not hear about it, you will just get fewer saved contacts.
Is a link to a contact page better than either format?
For many purposes, yes. A short link encodes into a sparse, easily scanned pattern regardless of how much detail sits behind it, and the page can offer a download in whichever format the visitor's device prefers. The trade-offs are that it needs a connection at scan time, it requires you to host and maintain the page, and it introduces a destination that can move. For a card that must work offline and forever, encoding the record directly is still the more robust choice.
Try it in a generator
Other comparisons
- Static vs dynamic QR codesStatic codes carry the data themselves and never expire. Dynamic codes add editing and analytics but depend on a subscription. Here is where each one belongs.
- PNG or SVG for a QR code?SVG scales to any size without softening module edges. PNG is a fixed grid of pixels that every tool accepts. Which one to send depends on where the code lands.
- QR code vs barcodeA retail barcode identifies a product for a till. A QR code carries arbitrary text for a phone. They solve different problems and are rarely interchangeable.