Dynamic vCard QR codes
A static vCard QR code writes your name, number and email into the pattern itself. Nobody can edit it after printing, including the generator that made it, so a new number means a new print run. A dynamic one writes a short link instead and keeps the details on a page you edit, which makes the same printed square survive a job change. It also prints a coarser symbol, because it carries far less.
Almost everyone arrives at this question the same way: there is already a card, a badge or a shop window carrying a QR code, and something on it is now wrong. Whether that is fixable is decided entirely by what is inside the pattern, so start there.
What is actually inside a contact code
Decode a static contact code and you get a block of text in the vCard format, the same one
phones have used for address books for decades. It opens with BEGIN:VCARD and
carries one line per field: the full name, the phone, the email, the company, the title, the
website. The phone reads that text offline and offers to save it. No server is involved at any
point, which is exactly why it works forever and exactly why nothing about it can be changed.
Decode a dynamic one and you get an address, roughly the length of this: https://tap2u.link/fRCfKq7. That is the whole payload. Everything a scanner eventually sees · the name, the Save button,
the WhatsApp link, the hours · lives on a page at the other end of it, and the page is editable
for as long as the code exists.
You can check either one without visiting it. Our free decoder reads a photo of a printed code and prints the exact text back at you, which is the fastest way to find out whether the code on your desk can be rescued at all.
The size difference, measured
This is the part most comparisons skip, and it is the one a printer cares about. A QR symbol is a grid, and the number of squares in that grid is decided by how many characters it carries. Print a symbol at a fixed width and every extra character makes each individual square smaller. Small squares are what fails first: at distance, in low light, on uncoated stock, through a laminate.
Printed at the same width, the dynamic symbol's modules come out about 2.4 times wider than the fully populated static card's, and more than twice as wide as the lean one's. That margin is the whole practical difference between a code that reads across a conference table and one somebody has to lean in for.
- The static symbol grows and the dynamic one does not · add an address to a static card and it jumps a version. Add an address, a booking link and opening hours to a hosted card and the printed pattern does not move a module, because those live on the page.
- Which is why lean static cards are good static cards · if you are staying static, name, phone and email is the combination that still reads off a business card. Our free studio keeps company, title and address behind a disclosure for this reason and tells you the smallest size your exact card decodes at.
- Error correction cuts both ways · a higher correction level makes a symbol more damage-tolerant and also larger, and it does that to both kinds. The figures above are measured at the default level, which is what you get unless you add a logo.
What a scan does, on each
A static card decodes to text and the phone offers to save it. That is the entire interaction, it needs no network, and it is genuinely hard to beat when the details are settled.
A dynamic contact card opens a page carrying your details and a Save button; one tap writes the contact into the address book, from a real contact file rather than a script trying to fire one. Because it is a page, it can hold the things a paper card cannot: a WhatsApp button that opens a chat, a call button that dials, opening hours, a booking link, a form that puts their details in your list rather than on a paper stack. If you want that version rather than this explanation, the digital business card page shows the templates.
The trade to state plainly: a dynamic code resolves through a service, so it is only as alive as the account behind it. A static code has no service between the scan and the text, so nothing can pause it. That independence is real and it is the reason to choose static when you can.
Choosing, in one question
Could this ever change?
- No, and it is cheap to reprint · make a static one. Our free vCard generator builds it in your browser, charges nothing, asks for no account, and never uploads what you typed.
- Yes, or the print run is large · make it dynamic. A conference badge, a vehicle wrap, a shop window, an engraved plate and anything you ordered a thousand of are all cases where the reprint costs more than the code ever will.
- You are not sure · that is a yes. The asymmetry is lopsided: a dynamic code you never edit cost you a credit, while a static code you needed to edit costs the print run.
Our numbers, in public
Since this will be read as a comparison, here is our side of it stated plainly. A dynamic contact card costs 1 credit to create, once, and 1 credit per scan, prepaid, with no subscription behind it and no surcharge for the kind. Credits are valid for 18 months and any top-up rolls the entire balance forward. At a zero balance scans keep resolving for 14 days or 5% of your last top-up, whichever runs out first; past that a scanner sees a paused page saying whose code it is, never an ad and never a stranger's destination. The code is not deleted, the address is never reassigned, and topping up resumes it on the same URL. The static generator stays free and unmetered, because there is nothing behind a static code for us to charge for.
Questions
Can I change the phone number on a vCard QR code I already printed?
Only if it was dynamic. A static vCard code carries your details inside the pattern itself, so the number is in the ink: no generator can edit it after printing, ours included, and the honest fix is a reprint. If the code holds a short link instead, the details live on a page and changing the number is an edit that every printed copy picks up on the next scan.
How do I tell which kind I have?
Decode it and read the text. Our free decoder shows you the exact payload without visiting it: text beginning BEGIN:VCARD is a static card and the details you see are the ones in the print, while a short address on somebody's domain is dynamic and the account behind that domain is what keeps it alive.
Does a dynamic contact card really scan from farther away?
Yes, and it is geometry rather than a claim about our software. A contact card carrying a name, company, title, phone, email, website and postal address encodes as a symbol 61 modules across. A short link encodes as 25. Print both the same width and the dynamic one's modules are about 2.4 times wider, and module width is what decides how far a camera can resolve the pattern and how much bad printing it survives.
Why does picking a contact card create a page?
Because a redirect cannot write into an address book. A phone will save a contact from a page with a Save button and a contact file behind it, and it will not save one from an HTTP 302, so the kind is realised as a hosted page carrying that block. The page is yours from the moment it is created: rebrand it, add hours or a booking link, or leave it exactly as it arrived.
What does a dynamic contact card cost?
1 credit to create the code, once, and 1 credit per scan, prepaid. There is no surcharge for it being a contact card rather than a web address and no subscription behind it. Credits are valid 18 months and any top-up rolls the whole balance forward.
Is a static vCard code ever the right answer?
Often. If the details genuinely cannot change and you want the code to work with nothing behind it, static is the better object: no account, no per-scan cost, and nothing that could ever pause it. Keep it lean, though · every field you add packs more modules into the same square and pushes up the size you have to print it at.