vCard QR Code Generator

Your contact details as a code someone can scan into their address book.

A vCard QR code carries a whole contact record — name, company, phone, email, website — in a form a phone camera turns into a "add to contacts" prompt. It is what makes a business card useful after the meeting, and unlike a printed card it cannot be mistyped. Everything below is encoded in the page; none of it is uploaded.

Fill in the fields above and the code appears here.

How it works

1

Fill in what you want shared

Only the fields you complete are encoded. Leave the rest blank.

2

Watch the code rebuild

It regenerates as you type, so you can see the density grow with each field.

3

Download and print

Vector SVG for a card or a poster, PNG for an email signature or a screen.

vCard is a file format, not a QR feature

What the code contains is a small text file in the vCard format, defined in RFC 6350 and understood by every phone, mail client and address book made in the last twenty years. It begins with BEGIN:VCARD, lists one property per line, and ends with END:VCARD. The QR code is only a way of writing that text so a camera can read it.

This tool writes version 3.0, which is the version with the broadest support. Version 4.0 is newer and tidier, but some Android contact apps and older Outlook versions still parse it poorly, and a contact card that half your recipients cannot import defeats the purpose. The difference matters for structured addresses and little else.

Certain characters have to be escaped, and getting this wrong is the usual cause of a card that imports with a mangled name. Commas and semicolons are field separators in the format, so a company called "Smith, Jones & Co" has to have that comma escaped or the parser reads it as two fields. That escaping is handled here; it is worth knowing about if you ever hand-edit the output.

Keeping the code scannable as you add fields

Every field you fill in makes the code denser. A name and a phone number produce a sparse, forgiving pattern; a name, company, title, two phone numbers, an email, a website and a postal address can push it to a grid of 60-odd modules a side, where each module printed on a business card is a fraction of a millimetre.

Two things buy you room. Dropping the error correction level from Medium to Low frees roughly a fifth of the capacity, at the cost of the code tolerating less damage — a reasonable trade for something printed once on clean card stock. And leaving out fields that are already printed on the card in readable text, such as a long postal address, often halves the density for no real loss.

The practical test is the one that matters: print it at the size you intend, at the printer you intend, and scan it with the oldest phone you can find. A code that reads instantly on a new phone from a screen can fail on a five-year-old device from matte card, and that is the case you are actually designing for.

Frequently Asked Questions

A standard text format for a contact record, defined in RFC 6350 and read by essentially every phone and mail client. The QR code simply carries that text.
Version 3.0, which has the widest support. Version 4.0 is newer but some Android contact apps and older Outlook versions still import it unreliably.
No. Only the fields you complete are encoded, and fewer fields make a sparser code that scans more easily. A name plus one way to reach you is often enough.
Because more text needs more modules. If it becomes too fine to print, drop the error correction to Low or leave out fields already printed in readable text on the card.
No. The vCard text and the code are both built in your browser. Nothing you type leaves the page.