OpenQR

Contacts

How to make a vCard QR code

By OpenQR · updated 17 October 2026

Fill in your name, phone and email, download. That is the whole job: a vCard QR code stores your contact details in the format phones use for address-book entries, so scanning it brings up an “Add to contacts” screen with every field already filled in. One tap and you are in their phone, correctly spelled, with no typing on either side. OpenQR generates it entirely in your browser, free and watermark-free, and keeps the code sparse by taking only the fields a contact actually needs.

8 min read · Updated 17 October 2026

Make your vCard QR code now: fill in your details and download it free, no watermark.

What is a vCard QR code?

A vCard is the standard electronic business card: a small block of text with fields for name, phone, email, organisation and address, defined by the same family of standards that powers contact syncing between phones, mail clients and address books. A vCard QR code is that block of text encoded as a QR code. Scanning it makes the phone offer to create a new contact with the fields pre-filled, exactly as if the details had been shared phone-to-phone.

It works on iPhone and Android straight from the camera, with no app. The scanner decides where the contact is saved (which account) and can edit or discard it; the code itself is inert text and grants no access to anything.

How to create a vCard QR code

Using the generator above:

  1. 1

    Enter your name

    First and last as you want them to appear in someone’s address book. Phones sort on these fields, so “Sam Moreton” beats “sam@moreton”.

  2. 2

    Add phone and email

    The two fields that actually get used. One number is enough; the format is passed through as typed.

  3. 3

    Add organisation, title, site, address (optional)

    Useful on a professional card; every field adds text, and text makes the code denser (see below). Skip what a contact does not need.

  4. 4

    Download or print it

    PNG for screens, SVG or PDF for print, watermark-free at any size. The classic home is the back of a business card.

Test on both platforms

Scan your finished code with one iPhone and one Android before printing. Both will offer to save the contact; check the fields land where you expect on each.

Fewer fields make a better code

A QR code is a fixed amount of machine-readable surface, and every character of payload consumes some of it. A name-and-number vCard fits in a low, forgiving QR version that scans from small print and off-angle. A full card with organisation, title, URL and a street address can double or triple the payload, producing a denser pattern that wants a larger print and a steadier camera.

The practical discipline: include what the person scanning will use in the next week (name, phone, email, maybe company), and leave the rest for where it is already known. An address on a card is often there for tradition, not use.

One honest limit worth stating plainly: photos do not travel well. Some vCard software supports an embedded portrait, but phone cameras scanning QR vCards ignore it more often than they honour it, and the image would bloat the payload enormously. Design for the fields; put your face on the front of the card.

vCard or MECARD?

MECARD is an older, more compact contact format that predates widespread vCard support in camera apps. Its payload looks like MECARD:N:Moreton,Sam;TEL:447700900123;;, and almost every scanner still reads it. vCard is the fuller standard: more field types, proper structure, and what contact syncing has used for decades.

vCardMECARD
StandardRFC 2426 (3.0) / RFC 6350 (4.0)De-facto convention from scanner libraries
FieldsName, phone, email, org, title, URL, address, and moreName, phone, email, note, URL only
Payload size for the same detailsLongerShorter, so a sparser code
Phone support in 2026Universal for 3.0Universal, and simpler than it looks
Best forEverything professionalMinimal name-and-number codes where density is tight

OpenQR generates vCard 3.0, which is the widest-supported dialect: version 4.0 is the current standard on paper, but support in camera apps remains patchy, and a contact code that half the phones mangle is worse than a slightly longer one that all of them read.

What happens on the scanning phone

iPhone: the camera shows a contact card preview; tapping it opens the Create Contact screen with the fields filled, and Save files it to the account chosen at the top (iCloud by default). Android: the camera offers the vCard, which opens the Contacts app’s save screen with the same effect. Both platforms show the fields before anything is saved, so the scanner always sees and approves what is landing in their address book.

Deduplication is the phone’s job and the phones differ: iOS will happily create a second “same” contact, while some Android skins offer to merge. Nothing about the QR code can force a merge, which is as it should be: it is the scanner’s address book.

Where vCard QR codes work best

  • The back of a business card: the front carries design, the back carries the tap-to-save. The business card guide covers sizing and placement on the card itself.
  • Conference badges and lanyards: swap details without carrying cards at all.
  • Shop counters and reception: a small frame with “save our details” for customers who want a number in their pocket.
  • Vehicles and site signage: a contact code on the side of a van survives a moving observer better than a phone number printed at 12pt.
  • Email signatures: a small code under the sign-off saves the sender’s details in one scan.

Static or dynamic for contact codes?

A static vCard QR code encodes the contact text directly: it works forever, offline, on any phone, and is free. Its rigidity is that the details are frozen at print; a new number or role means a reprint, which is the classic business-card lifecycle anyway.

A dynamic QR code cannot change the vCard text inside a print (nothing can), but it can repoint the same printed code at a page that always holds current details: a booking page, a company contacts page, a profile. Teams whose people move often sometimes prefer that indirection; everyone else is better served by the static code, which is simpler, free, and needs no account to keep working.

Is publishing a vCard QR code safe?

The code contains exactly what you chose to print on a business card, and business cards have always been handed to strangers. There is no access token, no location, nothing executable: a vCard is text. The one decision to make consciously is which number and email you encode: the ones that should be in customers’ pockets, not the ones you keep for family. OpenQR’s generator runs in your browser, so the details are never uploaded to anyone, including us.

One scam-awareness note: do not scan vCard codes from strangers that arrive by post or flyer offering “update your contacts” for a company. A contact entry is harmless, but some campaigns use a saved “bank support” contact as the setup for a later call. Codes you generate yourself carry no such risk.

Troubleshooting: vCard QR code not saving

  • Scan shows text instead of a contact: the scanner app used does not handle multi-line vCards. The built-in camera on iOS and Android does; third-party scanner apps vary.
  • Contact saves with missing fields: phones differ in which vCard fields they surface: organisation and address handling varies by platform. The core name, phone and email fields are reliable everywhere.
  • Code will not scan from a business card: almost always size. A vCard payload is longer than a short URL, so the code is denser than most: print it at least 2 × 2 cm, keep the quiet zone clear, and follow the print size guide.
  • Name appears as one blob: the vCard’s structured name and display name fields disagree or the commas and semicolons were hand-escaped wrongly. Regenerate rather than hand-editing the text.
  • Accented characters mangled: the vCard was encoded in the wrong character set by whatever made it. OpenQR encodes UTF-8, which every current phone reads.
  • Code stopped working after details changed: a static vCard is frozen at print by design. Regenerate with the new details and reprint, or move to a dynamic code pointing at a live page.

The vCard format (for the curious)

A vCard QR code encodes a block of text like this:

BEGIN:VCARD
VERSION:3.0
N:Moreton;Sam;;;
FN:Sam Moreton
ORG:OpenQR
TEL;TYPE=CELL:447700900123
EMAIL;TYPE=INTERNET:sam@example.com
END:VCARD

  • N is the structured family-name-first field phones sort on; FN is the display name. Both are required.
  • TEL, EMAIL, ORG, TITLE, URL and ADR are the fields worth using in a QR code.
  • Inside values, semicolons, commas and backslashes must be escaped with a preceding backslash; OpenQR does this automatically.
  • Version 3.0 is the compatibility sweet spot: version 4.0 is cleaner on paper but patchily implemented in scanner apps.

Want to brand it?

Add your logo and colours in the customise panel, free and watermark-free. Keep the logo modest on a vCard code: the payload is long enough that the pattern is denser than a URL code’s.

Frequently asked questions

Yes: completely free, no sign-up, never watermarked, and generated in your browser so your details are never uploaded.

Related reading