A full contact card — scanning offers to save it straight into the phone address book.

Colors
Shape
Module style

The three corner squares always stay square — scanners lock onto them first.

Quiet zone1 modules

Fine at 1 for screens. Raise it to 4 before printing — that is the specification minimum, and too little margin is the most common print failure.

Logo

Drop one image here or click to select

PNG, JPG, WebP, SVG — screenshots, logos, or icons

Export
Example — fill in the form to generate your code
Nothing to encode yet
  • First name

SVG is vector — use it for anything printed. PNG is the right choice for screens.

How to create a vCard QR code

  1. Fill in at least a first name — everything else is optional, and empty fields are left out of the card entirely.
  2. Add the phone numbers you want reachable. Mobile and work are stored separately so the phone labels them correctly.
  3. Fill in the address only if it belongs on the card. It is the single biggest contributor to code density.
  4. Style the code and optionally add your company logo — error correction moves to level H automatically.
  5. Export as SVG for business cards and print, or PNG for an email signature or website.

vCard, MECARD and the version question

There are three competing contact formats that fit into a QR code, and picking the wrong one is a common source of "it saved on my phone but not my colleague's".

FormatSupportSizeVerdict
vCard 3.0Universal — iOS, Android, Outlook, macOSModerateThe safe default, used here
vCard 4.0Patchy on older Android and OutlookSimilar to 3.0Newer spec, worse real-world support
MECARDGood on Android, weak on iOSSmallestOnly worth it when size is critical

This tool emits vCard 3.0. It is not the newest revision, but it is the one every phone, every mail client and every CRM importer handles without complaint. vCard 4.0 offers better structure for edge cases nobody encodes into a QR code anyway, and pays for it with importer quirks.

vCard 3.0
BEGIN:VCARD
VERSION:3.0
N:Lovelace;Ada;;;
FN:Ada Lovelace
ORG:Analytical Engines Ltd
TITLE:Lead Engineer
TEL;TYPE=CELL:+44 20 7946 0958
EMAIL:ada@example.com
URL:https://example.com
ADR;TYPE=WORK:;;12 Baker St;London;;NW1 6XE;UK
END:VCARD

Two details in that snippet matter more than they look. N: stores the name in structured form as `last;first;middle;prefix;suffix`, while FN: is the display name — importers need both. And every line ends with a carriage return plus line feed, not a bare newline. Some iOS importers reject a card that uses LF alone, which is a bug that is almost impossible to diagnose from the phone side.

Keeping the code scannable — capacity is the real constraint

A vCard is far larger than a URL, and every field you add pushes the code to a higher version with smaller modules. On a business card printed at 2 cm, that difference decides whether the code scans on the first try or the third.

What you includeRoughlyVersion at level MScans well at 2 cm?
Name, mobile, email~120 bytes~7Yes, comfortably
+ company and job title~170 bytes~9Yes
+ website~200 bytes~10Usually
+ full postal address~290 bytes~13Marginal — print larger
+ a long note~400 bytes~16No — enlarge or trim

What to cut first

  • The note field — almost always the worst value per byte
  • The postal address — unless people genuinely post you letters, this is dead weight
  • The second phone number — one reachable number beats two unscannable ones
  • Long URLs — link to a short domain rather than a deep path

A useful rule for print: if the code needs a version above 12 to hold your data, either enlarge the printed code or trim fields. The live preview here shows the byte count and warns before you cross into territory that will not survive a business card.

Escaping — why a comma in a job title can break the import

vCard uses semicolons and commas as structural delimiters, so both must be escaped inside values. A job title like "Head of Sales, EMEA" contains a comma that an unescaped encoder passes straight through — the importer then reads it as a field separator and mangles the record.

Escaping rules
# Wrong — the comma reads as a delimiter
TITLE:Head of Sales, EMEA

# Correct
TITLE:Head of Sales\, EMEA

# Semicolons too
ORG:Acme\; Inc

# And line breaks become a literal \n sequence
NOTE:First line\nSecond line

This tool escapes backslash, semicolon and comma in every value, and converts line breaks in the note field to the literal `\n` sequence the specification requires. You can type punctuation naturally and it will import correctly.

Where a vCard code belongs — and where it does not

Good fits

  • Business cards — the classic use, and the reason SVG export matters. Print it on the back at 2 cm or larger
  • Conference badges — attendees swap contacts with a scan instead of typing
  • Email signatures — a small PNG that recipients can scan from their screen
  • Shop windows and vehicle livery — for trades where people want to save your number on the spot
  • Trade show stands — far better conversion than a bowl of paper cards nobody reads later
  • Real estate and property signage — a buyer saves the agent's number from the yard sign without pulling over to type it in

Poor fits

  • Details that change often — the code is static, so a new phone number means reprinting everything
  • Personal contact details in public — the code is machine-readable by anyone who photographs it
  • Anything needing analytics — a static vCard cannot tell you how many people scanned it
  • Shared team or department numbers — these rotate more often than one person's card, and a reprint cycle nobody owns is how outdated codes end up in circulation

That last point is worth stating plainly, because it is the main argument for the paid dynamic-QR services. If you genuinely need scan counts, you need a redirect service and the dependency that comes with it. If you just want people to save your number, a static vCard is simpler, free, private and permanent — and most people printing a business card fall squarely into that second group.

Frequently Asked Questions

What is a vCard QR code?
It is a QR code containing a complete contact record in vCard format. Scanning it opens the phone's "add contact" screen prefilled with your name, phone, email, company and address — no typing, no app.
Which vCard version does this generate?
vCard 3.0. It is not the newest revision, but it is the one that imports reliably on iOS, Android, Outlook, macOS Contacts and every mainstream CRM. vCard 4.0 has patchier support on older Android builds and in Outlook.
Should I use vCard or MECARD?
vCard, in nearly every case. MECARD produces a smaller code, which helps when space is critical, but its support on iOS is unreliable. vCard 3.0 works everywhere and the size difference rarely justifies the risk.
How much information can I include?
Technically up to about 2 300 bytes, but practically much less. Every field raises the QR version and shrinks the modules. Name, mobile, email, company and title produce a code that scans comfortably at 2 cm. Adding a full address and a note pushes it to a density that struggles at business-card size.
Can I update the contact details later?
Not in an already-printed code. A static vCard has the data baked into the pattern, so any change means generating a new code and reprinting. If details change often, consider putting a link to a contact page in a plain URL QR code instead.
Will it work on both iPhone and Android?
Yes. Both platforms recognise vCard payloads with the built-in camera and offer to create a contact. This is one reason the tool uses CRLF line endings — some iOS importers reject cards that use bare line feeds.
My job title contains a comma. Will that break it?
No. Commas, semicolons and backslashes are escaped automatically as the vCard specification requires. Unescaped punctuation is a real failure mode in other generators, where a comma is read as a field delimiter and mangles the imported record.
Can I put a photo in the vCard QR code?
Not practically. vCard supports an embedded PHOTO property, but even a small compressed image pushes the payload well past what a QR code can hold at a scannable density. Link to a photo URL instead if you need one.
What size should I print it on a business card?
At least 2 × 2 cm for a compact card containing name, phone and email. Denser cards with a full address need 2.5 cm or more. Always export as SVG for print so the module edges stay sharp, and never crop the white margin.
Is my contact information uploaded anywhere?
No. Everything is encoded in your browser and nothing is transmitted. There is no backend, no analytics on your input and no storage — the page works with the network disconnected.
Can I add my company logo?
Yes. Error correction switches to level H automatically when you add a logo, recovering up to 30% of the covered pattern. Because vCards are already dense, test the result on two phones before committing to a print run.
Can I track how many people scan my card?
No, and that is inherent to static codes rather than a limitation of this tool. Scan tracking requires routing through a redirect service, which means a subscription and a code that breaks if the service goes away. A static vCard trades analytics for permanence and privacy.