Skip to the generator

vCard QR code generator

A contact card that saves straight into the phone address book.

Address

Optional. Leave it out if the card does not need it.

Optional. Saved with the contact.

Your QR code appears here

Start typing and it updates as you go.

PNG is 2048px. SVG scales to any size, which is what print wants.

Design
Colours

Or start from a pair that scans well:

Module shape

The empty border around the code. 4 is the standard.

Recovers about 15% damage. The usual choice.

Centre logo

Optional. Keep it simple - a mark reads better than a wordmark at this size.

What is actually in a vCard QR code

A vCard QR code holds a small text file - the same .vcf format an address book exports - written line by line inside the pattern. It starts with BEGIN:VCARD, declares its version, then lists one property per line: N and FN for the name, ORG and TITLE for the job, TEL lines for the numbers, EMAIL, URL, ADR for the address and NOTE for anything else. The phone recognises that shape and offers to add a contact instead of showing text.

The version here is 3.0, not the newer 4.0. That is deliberate: iOS and Android both parse 3.0 out of a QR code reliably and offer "Add to contacts", while 4.0 is the more correct standard and the less widely handled one. Lines are joined with CRLF, which the format requires, and semicolons and commas inside your values are escaped automatically - an unescaped comma in a company name splits the field and the contact saves with half a name.

The consequence people meet in the field is size. A link is thirty characters; a full contact card with two numbers, an address and a note is easily ten times that, and every byte makes the pattern finer. The same code that scans instantly at 40mm on a printed card becomes unreliable at 15mm on a badge. Either trim the card to the fields that matter - name, mobile, email - or print it bigger. Those are the only two levers.

The text inside the code, one property per line

BEGIN:VCARD
VERSION:3.0
N:Okafor;Amara;;;
FN:Amara Okafor
ORG:Northgate Dental
TITLE:Practice Manager
TEL;TYPE=CELL:+447700900123
TEL;TYPE=WORK:+441134960123
EMAIL;TYPE=INTERNET:amara@northgatedental.co.uk
URL:https://northgatedental.co.uk
ADR;TYPE=WORK:;;14 Northgate;Leeds;West Yorkshire;LS1 4AB;United Kingdom
NOTE:Side entrance after 6pm
END:VCARD

Good for

  • The back of a business card
  • A conference badge
  • A trade show banner
  • An email signature
  • A van livery panel
  • A shop window card

Worth knowing before you print it

  • Every field you fill in makes the code denser

    A name, a mobile and an email make a code with chunky squares that scans across a table. Add a work number, a full postal address and a two-line note and the pattern roughly doubles in detail. If the card is going on a badge or a small business card, fill in less rather than shrinking the code.

  • Write phone numbers in international format

    Start with the plus and the country code: +447700900123, not 07700 900123. A saved contact travels, and a local-format number fails the moment the person calling is abroad or on a foreign SIM. Spaces, brackets and dashes are stripped for you, so type it however you like as long as the country code is there.

  • The details are frozen at the moment you print

    Nothing about a printed vCard updates. A new mobile number, a new job title or a company rename means the old cards are quietly wrong, and the people who scanned them never find out. If your details move often, put a URL code on the card pointing at a contact page you can edit instead.

  • Scan your own code before you order 500 cards

    Scan it and actually save the contact, then open it in the address book. That is where a transposed digit, an address in the wrong field or a name that saved as "Okafor Amara" shows up. Proofreading the form is not the same test as reading what the phone made of it.

Common questions

Yes. Point the camera at it and the phone shows a preview of the contact with an option to add it. That is the reason this generator writes vCard 3.0 rather than 4.0 - 3.0 is what both platforms and most scanning apps parse without complaint.

No, and it should not. The phone shows what it found and the person taps to save. Nothing is written to their address book without them agreeing, and they can edit the details first. It is worth putting the words "scan to save my details" next to the code so people know the tap is coming.

No. A photo would need thousands of bytes of image data inside the code, which would push the pattern past what a phone camera can read off a printed card. If you want a face or a logo attached, point a URL code at a contact page that carries both.

Almost always because the card is long. A full address plus a note plus two phone numbers is several hundred characters, and the code adds detail to fit them. Remove the fields nobody uses, or print the code at least 30mm across with clear white space around it.

No. The contact card is inside the code, so an edit means making a new code and reprinting. There are no dynamic codes here and no dashboard behind it - which is also why nothing expires and nothing can be switched off later.

MeCard is an older, shorter format from Japanese feature phones. It makes a slightly smaller code but carries fewer fields and is handled less consistently on iPhone. This generator writes vCard because reliably saving on both platforms matters more than saving a few bytes.

Other kinds of QR code

All free, all made in your browser.

Printing it? How to print a QR code covers size, contrast and the quiet zone.