Encoding contact details straight into a QR code works, right up until the code gets too dense to scan or the phone decides not to open it. Here is the version that holds up, with the four codes that show why.
A vCard QR code carries your contact details inside the code itself, so scanning it offers to save you without loading a web page. That is its strength and its limit: everything must fit, and the more you add the denser and more fragile the code becomes. This covers what to include, what to leave out, why a link is often the better choice, and how to make either one free.
By Cardr · Published 4 August 2026 · 6 min read
Not a link. The contact card itself, as text.
A vCard QR code encodes a small text document in the vCard format, the same format your phone uses when you share a contact. Name, phone, email, company, title and a website, wrapped in a few lines of markup. The phone recognises it and offers to add the contact.
Because the data is inside the code, it works with no internet connection at all. Nothing is fetched. That is the genuine advantage and it is the reason to use one.
It is also the reason it breaks. A QR code holds a fixed amount of data per grid size, so the more characters you cram in, the bigger the grid has to get — and at a fixed printed size, a bigger grid means a smaller black square. Here is the same person, encoded four ways.
Nothing above is an illustration. Each code was generated by the same encoder our free tool uses, and the grid size and character count under each one are read back from the encoder rather than typed in.
The last one is the interesting failure. Adding an address, a second number, a note and a social handle takes the grid from 53 squares across to 89, which at a 20mm print takes each square from 0.38mm down to 0.22mm. It still technically encodes. It just will not scan in a bar.
Ruthlessness here is what makes the difference between a code that scans and one that half works.
Include: name, one phone number, one email, company, job title. That is a complete business card and it stays comfortably inside a scannable density.
Cut: a full postal address, a second and third phone number, a photo, social handles, and any note. An address alone can nearly double the payload, as the third code above shows. A photo is not worth discussing; an embedded image will not fit in anything you can scan from a phone.
Then test it the way it will be used. Display it at the size you will actually show it, on the device you will actually show it on, and scan it from about arm’s length in ordinary indoor light. A code that only scans when held six inches away in bright light is a code that will fail in a bar.
Every scanning problem anyone has ever had with a QR code was a size or a contrast problem.Which is a nicer way of saying: it was almost never the phone.
Most of the time, for two reasons that only show up later.
It cannot be changed. The details are baked into the shape. Change your number and every printed copy of that code is now wrong, permanently, including the ones on cards in other people’s drawers.
It gives you nothing back. A raw vCard save is a one-way transfer. You do not know it happened, and you leave the conversation with nothing.
A code that points at a page instead stays small and simple regardless of how much is on the card — 29 squares across in the first example, and it would still be 29 if the page behind it held forty links. It updates when you update it, and it can offer an exchange rather than a broadcast. The cost is that it needs signal once, to load the page. That is the real trade: offline and frozen, or online and current.
Which is also why an Apple Wallet pass is a useful third option. The pass is stored on the phone so it opens offline, and it still updates itself when you change your details, which is the combination neither QR variant manages alone.
Five steps. No account, no email, no watermark.
Raw vCard if it must work with no signal and the details will never change. A link if you want it to stay small, stay current, and be able to give you something back.
Name, one mobile, one email, company, job title. Leave out the postal address, the second number and any note — those are what take the grid from 53 squares across to 89.
Our free generator shows you the code immediately. The denser it looks, the more you should be cutting. A code you can count the squares on from across the room is a code that will scan from across the room.
On the device you will show it on, from about arm's length, in ordinary indoor light. Not held six inches away under a desk lamp. The scene is a bar or a doorstep, so test in something like one.
Scan distance runs to roughly ten times the code's width, so a 2cm code on a card is a 20cm reach. If it is going on a stand or a van, scale up accordingly and test the printed proof before ordering hundreds.
Our vCard QR generator makes the raw kind and works whether or not you ever create a card with us. If you want the link kind, that is what a Cardr address is: a short URL with a page behind it that shows your details, saves to contacts in one tap, and can take their details back.
They fail in different places, and the distance between you decides which one matters.
OpinionAre paper business cards dead?No. And the places paper still wins are specific enough to name.
GuideDigital business cards on AndroidThe most common objection, answered straight rather than sold around.
By professionWho it is forSixteen trades, each with the moment that decides whether a card works.
Yes. The details are inside the code, so nothing is fetched and it works with no signal. That is the main reason to choose it over a link.
Almost always density or size. Too much data makes the grid bigger, which makes each square smaller at any given print size. A lean vCard encodes to a 53 by 53 grid; adding an address, a second number, a note and a social handle takes it to 89 by 89, which at a 20mm print is 0.22mm per square. Remove the address and any extra numbers first, then make it physically bigger.
Not in a raw vCard code. The data is baked in, so every copy already printed or saved keeps the old details forever. A code pointing at a page can be updated any time.
More than you want to put in one. The limit that bites is not the theoretical maximum but the physical one: every extra character grows the grid, and past roughly 300 characters a code printed at business-card size has squares too small for a phone camera at conversational distance.
No. Ours is free with no signup and no email. Be careful with generators that route your code through their own domain as a redirect, because your code stops working if they turn that service off or start charging for it.
Nothing for the other person to install, and no card details to start.