Logo

vCard QR Code Generator

Turn your contact details into a code someone can scan. It is drawn in this browser tab, and the size meter tells you when the card has grown past what a QR symbol can physically hold.

Error correction

How full is the code

A vCard needs at least a name or an organisation.

Photos are left out on this page on purpose. One turns a 353-byte card into roughly 42,000 bytes, which no QR symbol can hold. The full contact card builder keeps the photo in the downloadable file.

A code is not private

Everything in it is readable by anyone who photographs it, including the person behind you in the queue. Put a work number on a printed code, not a home address. You can check what yours contains by decoding it back again.

You print a hundred business cards with a code on the back, and half of them will not scan. Nobody tells you until the event is over and the cards are paid for. A vCard QR code generator that shows you the payload size while you type prevents that, because the usual cause is a card stuffed with more data than the format can carry.

What goes into a QR code for contact details

The code holds the contact file itself, not a link to one. Scan it and your phone reads the text directly out of the pattern.

That is why it keeps working forever. There is no server to go down, no subscription to lapse, and no company that has to still exist next year.

The trade-off is that it cannot be changed. Print a code with your old phone number and every copy carries the old number until you reprint. We think that is the right trade for a printed card and the wrong one for a shop window.

How big can a vCard QR code be?

A QR symbol holds 2,953 bytes at its largest and loosest setting. Tighten the error correction and that drops: 2,331, then 1,663, then 1,273 at the strictest. We checked each figure against the encoder instead of copying it from a spec sheet.

For scale, a full card with name, title, company, mobile, two emails, a website and a postal address measured 353 bytes here. You have far more room than you will use.

One number ruins it. Add a photo and the same card became 41,744 bytes, because a picture is stored as text inside the file. That is roughly eighteen times the ceiling, so this page leaves photos out and says why rather than failing quietly.

Static vs dynamic QR codes, and why we only make one kind

A dynamic code contains a short web address. Scanning it sends the phone to a server, which looks up your details and hands them over.

The pitch is that you can edit your details later without reprinting. The part that gets skipped: your contact card now lives on somebody's server, every scan is logged, and the code dies the day that service does.

We only make static codes. It rules out the editing feature, which is a real loss, and it means nothing we run has to survive for your code to keep working.

Printing a scannable business card that survives handling

Export the SVG, not the PNG, for anything that goes to a printer. An SVG is drawn from instructions rather than pixels, so it stays crisp at any size.

Give the code quiet space around it. Scanners need a clear margin to find the edges, and a code butted against a border is a common failure.

Then test it. Print one, scan it with an actual phone in ordinary indoor light, and only then order the rest. Dark ink on a light background beats any clever colour scheme, and inverted codes fail on a lot of older scanners.

Where this vCard QR code generator does its work

In your browser tab. The encoder loads as a script and runs on your device, and the finished image never leaves it.

You can confirm that in about thirty seconds. Open the network tab in developer tools, press the button, and watch: the only requests are the page's own script files.

This page exists partly because we got it wrong before. An earlier version of our vcard generator built its code by sending the finished card to an outside service inside a web address, which put names, phone numbers and home addresses in someone else's logs. It is fixed, and worth stating plainly rather than quietly correcting.

Checking the code before you commit it to paper

Scan your own code and read what comes back. The QR code scanner decodes from your camera or an uploaded image, so you can see the exact text a stranger's phone will get.

Look at the whole card, not just the name. A stray line break in a note or an unescaped comma in a company name is easy to miss on screen and obvious once decoded.

If something looks wrong, the vcf viewer lays the file out field by field. For the failures that only show up later, we collected the reasons a vCard QR code stops scanning in one place.

Keep the code small and it will keep working

Everything about this vCard QR code generator comes back to one idea: less data means bigger blocks, and bigger blocks scan. Four fields beat twelve every time.

Put the code on the card, keep the printed text readable on its own, and remember that anyone who can photograph it can read every field inside. Save a slimmer version for the contact QR code in an email signature, where a work number belongs and a home address does not.

Questions about contact QR codes

How much can a vCard QR code actually hold?

+
The largest symbol holds 2,953 bytes at the loosest error-correction setting and 1,273 at the strictest. We verified those figures against the encoder rather than trusting the spec sheet. A name, mobile, email and company usually lands near 350 bytes, so a sensible card has plenty of room.

Why is the widely quoted 4,296 character limit wrong for contact cards?

+
That number applies to alphanumeric mode, which only covers capital letters, digits and a few symbols. A vCard contains lowercase letters and punctuation, so the encoder switches to byte mode and the ceiling drops to 2,953. We caught our own test making this mistake, which is how confident everyone is about the wrong figure.

Can I put my photo in the code?

+
No, and this is the single most common disappointment with the format. A photo is stored as text inside the card, which took one of our test cards from 353 bytes to 41,744. That is roughly eighteen times more than the largest symbol can hold, so no setting rescues it.

Which error-correction level should I pick for a printed code?

+
Use M for anything on paper you will hand over, and Q if the code goes on something that gets handled, scuffed or folded. Higher levels let the code survive damage by storing repeated data, which means less room for your details. On screen, L is fine because nothing is going to scratch it.

Do you offer dynamic QR codes that I can edit later?

+
We do not, deliberately. A dynamic code stores a short link to a server that holds your details and redirects, so the code keeps working only while that server does. We would rather give you a code that never expires than one that depends on us still existing in five years.

How small can I print it before scanning becomes unreliable?

+
It depends on the density, not the format, which is why the size meter matters. A code carrying 350 bytes has large blocks and survives being printed small; one carrying 2,000 bytes has tiny blocks that blur at the same size. Print the SVG rather than the PNG and test with an actual phone before ordering anything.

Someone scanned my code and got raw text instead of a contact. Why?

+
Some scanner apps show whatever they decode as plain text rather than recognising the vCard structure. The built-in camera apps on iPhone and Android handle it properly and offer to create a contact. Third-party scanner apps vary, and there is nothing in the code itself you can change to fix it.

Is putting a QR code on a printed business card worth it?

+
It is, with one caveat we would rather state. The code only helps if someone has a phone out at that moment, and at a busy event most people pocket the card and never come back to it. Keep the printed text readable on its own instead of treating the code as a replacement.

Can I add a logo in the middle like the paid tools do?

+
Not here. A logo works by covering part of the code and relying on error correction to reconstruct what is hidden, which eats the same budget that protects against damage. Done carelessly it produces a code that scans on a clean screen and fails on paper, so we left it out rather than ship a trap.

Does the code change every time I generate it?

+
Slightly, yes. Every card carries a revision timestamp, so a code made a minute later encodes marginally different data and looks different. The contact details inside are identical, and any scanner will produce the same result.

Related Tools You Might Like

Advertisement