Skip to content
Generate Online

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

CriterionvCardMeCard
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 clientGood in phone camera apps, patchy in desktop contact managers
Typical encoded lengthAround 200 to 400 characters for a realistic business cardRoughly 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 printUsually stays under 45 modules, comfortable at business card size
Fields availableNames, org, title, several phones, emails, addresses, URLs, notes, photoName, reading, phone, email, address, URL, birthday, memo
Structured name handlingSeparate surname and given name, so contacts sort correctlyAlso 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 faxSeveral 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 codesOne syntax, no versioning to get wrong
Line ending sensitivityRequires carriage return and line feed pairs; bare newlines break some readersSingle line, so there is nothing to get wrong
Escaping rulesCommas, semicolons and backslashes inside values must be escapedColons and semicolons are delimiters and must be escaped too
Best useAnything with room to print, and any code meant to lastVery 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