Skip to content

After the Scan › Episode 7

Why the QR Should Not Hold the Whole Card

What is actually inside a .vcf file, and the common mistake of encoding the file itself into the QR code rather than a link to it.

September 16, 2026 · 3:57

Also wherever you get podcasts – the feed is at https://podcast.whooshly.co/feed.xml.

Full transcript

Every word, as recorded

An electronic business card is your contact details in a form a phone saves in one tap. Underneath, it is usually a vCard, a .vcf file.

And the most common mistake people make with one is putting the whole file inside the QR code.


The file is older and plainer than most people expect. The vCard is an open standard, defined in RFC 6350 by the IETF in twenty eleven. Extension .vcf, MIME type text vcard. The Library of Congress lists it as a registered format. Because it is open rather than proprietary, an iPhone and an Android read the identical file.

Open one in a text editor and it reads like a list. It begins with BEGIN VCARD and it ends with END VCARD, there is a VERSION line, and everything between is a property and its value in plain text. FN for the display name. TEL for the number. EMAIL, ORG, TITLE, a URL, a photo. Human readable, which is why any contacts app can parse it without a plugin.

There are four shapes you will meet in the wild. The file on its own. A QR code. A hosted card page at a link. And the card block in an email signature. All four deliver the same payload into somebody's address book.

The column that decides between them is whether the card stays editable after you hand it out.

A raw vCard freezes the moment it is downloaded. Whatever was in that file is what sits in their phone from then on, and you have no way to reach it again. A hosted card at a link stays current, because you are updating the page rather than the copy they took away with them.

Now the mistake.

A QR code can hold an entire vCard. People do it, because it feels tidy and it needs no hosting at all. There are two problems with it.

The first is size, and it is the same geometry from the sizing episode. A QR code caps out around two thousand nine hundred and fifty three bytes, and a vCard gets dense quickly once you add a photo. More data means more modules. More modules at a fixed module size means a physically bigger square, or the same square with cells too fine for a phone to resolve. The cards that scan badly in a dim bar are usually these.

The second is the freezing problem again, made permanent. A QR that holds the file is a printed copy of your details. Change your number, and every card in every wallet is wrong, and there is nothing you can do from your end.

Encode a short link instead. The code stays small and sharp because it is carrying twenty characters rather than two thousand, and the page behind it stays yours to fix.

So the honest split. A raw vCard file is a good free answer when your details are stable, and we let people build one with a QR in the browser with no signup, because that is enough for a lot of people. A hosted card is the answer when your details are not stable, or when you want to know that somebody opened it.

We have watched this go wrong at enough events to be blunt about it. The cards that fail are rarely the ones with a design problem. They are the ones carrying two thousand bytes of contact file in a square the size of a postage stamp.

Either way, the QR should point at the card. It should not be the card.

I am Ankur, and I built Whooshly. Digital cards, QR codes and short links you pay for once instead of by the month. If you want the card you handed someone to still open next year, we are at whooshly.co.

Where this comes from

Every fact in this episode traces to one article

We do not write episodes from memory. This one is drawn from a single published piece, and the sourcing and method are set out there in full.

Read the article

The tools this episode is about

Short links, dynamic QR codes, UTMs and digital cards on whooshly.co – paid for once, with the permanence pledge attached.

Whooshly / AI assistantAsk Whooshly

Answers about products, pricing, and setup.

What do you want to make?

Ask about links, QR codes, UTMs, pages, pricing, analytics, or custom domains.