Skip to content
Generate Online

vCard QR Code Generator

Put your full contact details into a scan instead of a typed-out card.

Leave blank to keep the code smaller and easier to print small.

Include the country code so the number works when scanned abroad.

QR code options

Generated on your device. Nothing you type is sent anywhere.

What a vCard QR code does

A vCard QR code carries a complete contact record — name, phone, email, company, job title and website — in the format phones already use for their address book. Scanning it opens a prefilled contact card ready to save, so nobody retypes a phone number from a printed card and gets a digit wrong. The trade-off is size: a vCard holds far more text than a link, so the pattern is denser and needs more physical space to stay scannable. Most of the practical advice on this page comes back to that one constraint, and to deciding which fields genuinely earn their place in the code.

When to use one

  • Printed business cards, where the code sits alongside the details in text
  • Conference badges and lanyards, where contacts get exchanged without anyone typing a number
  • Email signatures and slide decks where someone may be watching from a distance
  • Shop windows and trade stands that need a contact route outside opening hours
  • Estate agent boards and site signage where the enquiry should reach a person

Why it works well

  • No transcription errors

    A phone number read off a card and typed into a keypad is one digit away from being wrong, and the mistake only surfaces when the call fails. Scanning removes the retyping step entirely, along with the class of error that comes with it.

  • Saves as a real contact

    Because the payload uses the same vCard format phones use internally, the result is a proper address-book entry with the fields separated correctly — not a block of text someone has to unpick and re-enter by hand.

  • Works with no app installed

    Both iOS and Android handle vCard codes from the built-in camera. There is nothing for the other person to download, which matters at a conference where nobody wants to install anything.

  • Nothing expires

    The details live inside the pattern, so there is no hosted profile page that could go offline, no account to keep active and no subscription that could lapse and break the cards you already printed.

Worked examples

Minimal card — name and mobile only

The smallest useful contact code. Two fields keep the pattern sparse enough to print at business-card scale and still scan reliably in poor light.

Encoded as

BEGIN:VCARD VERSION:3.0 N:Lovelace;Ada;;; FN:Ada Lovelace TEL;TYPE=CELL:+442079460958 END:VCARD

Full professional card

Every field populated, as you might use on a conference badge where the code is printed larger and scanned from close range.

Encoded as

BEGIN:VCARD VERSION:3.0 N:Hopper;Grace;;; FN:Grace Hopper ORG:Northwind Trading TITLE:Operations Director TEL;TYPE=CELL:+12025550143 EMAIL;TYPE=INTERNET:grace@northwind.example URL:https://northwind.example/team/grace END:VCARD

Email-first contact, no phone

For roles where email is the preferred route and a direct number should not be published. Omitting the phone field also shortens the payload noticeably.

Encoded as

BEGIN:VCARD VERSION:3.0 N:Turing;Alan;;; FN:Alan Turing ORG:Northwind Research TITLE:Principal Engineer EMAIL;TYPE=INTERNET:alan@northwind.example END:VCARD

How to create a vCard QR code

  1. Fill in the name fields first

    First name and Last name are the only required fields, because a contact with no name is not useful to save. Everything else is optional and each addition makes the pattern denser, so start with the name and add fields deliberately rather than filling in everything available.

  2. Add the number in international format

    Put the country code on the Mobile number — +44 rather than 0 for the UK, +1 for North America. A scan that happens abroad, or on a phone registered to another country, will only dial correctly if the number carries its country code.

  3. Decide which optional fields matter

    Company, Job title, Email and Website all get encoded into the pattern and all of them add density. If the code will be printed small, keep the website off it — a person who has your email can find your site, and the code will scan more reliably at a distance.

  4. Test the save, not just the scan

    Scan the finished code and actually save the contact, then open it in your address book. Scanning proves the pattern is readable; saving proves the fields landed in the right places, which is a different failure and a more common one.

What goes wrong, and how to avoid it

  • Filling in every field, then printing small

    This is the defining vCard problem. A full record — long name, company, job title, two contact routes and a website — can push the pattern past 70 modules across, which is too fine to read reliably at business-card scale. Symptoms look like a camera or lighting fault rather than a design one. If the code must be small, cut fields until it is sparse, starting with the website and job title.

  • Local phone numbers that fail abroad

    A number saved as 020 7946 0958 will not dial from outside the UK, and the person scanning has no way to know the country code was omitted. It also affects domestic scans on phones registered to another network. Always store the number in international form with a leading plus.

  • Assuming the code updates when your details change

    The contact record is inside the pattern. Change job, number or company and every printed card carries the old details indefinitely, with no signal to anyone that they are stale. Printed vCards should be treated as having the same shelf life as the details on the card itself.

  • Adding a logo without raising error correction

    A logo covers modules the scanner needs. On a dense payload like a full vCard, dropping a logo into the middle at the default error-correction level often pushes the code past what the remaining redundancy can recover. If a logo is required, switch error correction to High — and accept that this makes the pattern denser still.

Device and app compatibility

The output is vCard 3.0 rather than the newer 4.0. That is deliberate: iOS Contacts and several Android scanner apps parse 3.0 more reliably, and it is what other QR tools emit, so interoperability wins over currency here. Both iOS and Android read contact codes from the built-in camera and show a prefilled contact ready to save. Some third-party scanners display the raw BEGIN:VCARD text instead of offering to save, which is an app limitation rather than a fault in the code. Desktop browsers generally download a .vcf file, which opens correctly in Outlook, Apple Contacts and Google Contacts.

Fields use CRLF line endings as the specification requires — a bare newline causes some parsers to drop the remainder of the record. Both N (structured name) and FN (formatted name) are emitted, since N is required by the spec while FN is what most address books actually display. Commas, semicolons and newlines inside values are escaped, so a company name like "Acme, Inc; Ltd" survives intact instead of splitting into extra fields.

Common questions

Why is my vCard QR code so much bigger than a URL code?

Because it carries far more text. A short link is around 25 characters; a full contact record can be 250 or more, and every extra character forces a larger pattern with more modules. This is why the advice on this page keeps returning to leaving optional fields empty when the code will be printed small.

Should I use vCard or MeCard?

Use vCard unless you specifically need the smallest possible pattern. MeCard is more compact and still supported by many scanners, but vCard has broader support on modern phones and maps more cleanly onto address-book fields. MeCard is worth considering only when the code must be printed very small and carries just a name and number.

Can I update my details later without reprinting?

No. The contact record is encoded in the pattern itself, so changing your number or employer does not change any code already printed. Anyone scanning an old card gets the old details with no indication they are out of date. Treat printed contact codes as having the same lifespan as printed contact details.

Does the person scanning need an app?

No. The camera app on any current iPhone or Android phone recognises the contact format and offers to create the entry. Some older third-party scanner apps will show the raw text instead, but the built-in camera is what most people use and it handles this correctly.

What size should I print a vCard QR code?

Larger than you would print a link code — start at 3 cm square and go up from there if you have included several optional fields. If the design only allows a smaller code, remove fields until the pattern visibly coarsens. A sparse code at 2 cm scans better than a dense one at 3 cm.

Are my contact details sent to your server?

No. Everything is assembled in your browser and nothing is transmitted. You can confirm this by opening developer tools, selecting the Network tab, and watching that no request is made while you type. There is no backend here that could receive or store what you enter.

Read before you print

Other QR code generators

This generator is part of contact QR codes — see the whole group, and what to decide before you generate one.