QR types & how-tos

vCard QR codes: put your contact details on a business card

A contact card that saves itself. The catch is that contact details are long, and long content makes a dense code.

By Kiril Urbonas4 min read

A vCard QR code encodes a complete contact record — name, phone, email, company, website — directly in the pattern, so scanning it offers to save the contact with no network needed. Because vCards are verbose, the code is dense, which means it must be printed larger or trimmed to essential fields.

Key takeaways

  • The whole contact record lives in the code, so it works with no signal and never expires.
  • vCard is verbose. A full record easily runs past 200 characters, producing a dense grid with small modules.
  • Trim to the fields you actually need — name, one phone, one email, company, website — before enlarging the print.
  • MECARD is a more compact alternative that most phones also read, at the cost of fewer fields.
  • Because it cannot be edited after printing, a vCard code outlives the job title printed next to it. Use a role-neutral record if you reprint cards rarely.

What is a vCard QR code?

A QR code containing a complete contact record — name, phone, email, company, website — in the vCard format, the same format behind the .vcf files your phone and email client already exchange. Scanning it prompts the phone to save the contact directly.

Everything is inside the code. There is no service in the middle, no landing page, and no network required: it works in a basement, on a plane, and in ten years’ time. That is the appeal, and the density problem below is the price.

What the vCard payload looks like

It is plain text, with one field per line:

A minimal vCard payload
BEGIN:VCARD
VERSION:3.0
N:Urbonas;Kiril;;;
FN:Kiril Urbonas
ORG:QRify
TEL;TYPE=CELL:+1234567890
EMAIL:hello@example.com
URL:https://qrify.to
END:VCARD

That example is already around 160 characters, and it is minimal — no address, no job title, no second phone number. Add a postal address and a role and you are past 250 without trying.

Note VERSION:3.0 rather than 4.0. Version 3.0 remains the most widely supported across phones and contact apps, and compatibility matters more than modernity for something printed on a card you cannot update.

Why vCard codes get dense fast

A QR code’s grid grows with the amount of data in it, and at a fixed printed size a bigger grid means smaller modules. vCards are verbose, so vCard codes are dense — which is why a contact code often fails at a size where a URL code is perfectly happy.

What you encodeCharactersGridModule size at 2.5 cm
A short URL~2525 × 251.0 mm — comfortable
Minimal vCard~16049 × 490.51 mm — workable
Full vCard with address~28061 × 610.41 mm — marginal
vCard with a photo1,000+97 × 97+Unprintable at this size
At medium error correction. The same card, the same print size, different payloads.

The fix is to trim rather than enlarge. Include name, one phone number, one email, company and website — and leave out the fields nobody uses: fax, second address, formatted birthdays, notes. The sizing guide covers where the module-size thresholds actually sit.

vCard or MECARD?

MECARD is a compact alternative that encodes the same essentials in far fewer characters. The same contact as above fits in roughly half the space:

The same contact as MECARD
MECARD:N:Urbonas,Kiril;TEL:+1234567890;EMAIL:hello@example.com;URL:https://qrify.to;;

Shorter payload, sparser grid, larger modules at the same printed size. The trade-off is fields and support: MECARD covers the basics only, and while most phone cameras handle it, vCard is the more universally understood of the two.

A reasonable rule: use vCard by default; switch to MECARD when the code has to be small and the extra fields are not earning their place.

Making it work on a business card

A business card is the hardest realistic case — a dense payload printed small. Five things decide it:

  • Size it at 2.5–3 cm (1–1.2 in), not the 2 cm you could get away with for a short URL. The denser grid needs the extra width.
  • Trim the record before you enlarge the code. Every field you drop makes every module bigger.
  • Keep error correction at M. Raising it adds data and shrinks the modules further, and a business card in a wallet is not a high-damage environment. See the error correction guide.
  • Protect the quiet zone. Four empty modules on every side — easily lost when a designer tucks the code into a corner.
  • Use an uncoated or matte finish if you can. Gloss lamination throws glare straight back at the camera, which is a real problem at this size.

See also the print guide for the rest of what decides whether a card-sized code scans on the first try.

Frequently asked

What is a vCard QR code?
A QR code containing a complete contact record in the vCard format — name, phone numbers, email, organisation, website and more. Scanning it prompts the phone to save the contact directly, with no app, no network connection and no service in the middle.
How big should a vCard QR code be on a business card?
At least 2.5 to 3 cm (1–1.2 in), which is larger than a plain URL code needs. vCard payloads are long, so the grid is denser and the modules smaller — the same physical size that works for a short URL may not work for a full contact record.
What is the difference between vCard and MECARD?
Both encode contact details directly in the code. vCard is the richer, more widely supported standard and is verbose; MECARD is a compact alternative that produces a noticeably smaller, sparser code with fewer fields. If your code is coming out too dense to print small, MECARD is the usual fix.
Can I update a vCard QR code after printing it?
No. The contact details are encoded in the pattern itself, so changing them means generating and reprinting the code. That is also why it keeps working forever with no subscription. If your details change often, point the code at a contact page you control instead.