What's inside: vCard 3.0, line by line
The payload is a real vCard 3.0 record — the same format .vcf files use — with one line per property: N and FN for the name, ORG, TEL, EMAIL, URL. Semicolons, commas, backslashes and newlines inside your values are escaped, and the lines are joined with CRLF as the standard requires.
A filled example, exactly as the generator emits it:
Nothing links out to a hosted profile. The phone reads the card from the image itself, which is why it keeps working when any given QR service does not.
BEGIN:VCARD
VERSION:3.0
N:Lovelace;Ada;;;
FN:Ada Lovelace
ORG:Analytical\;Engines
TEL:+12025550123
EMAIL:[email protected]
URL:https://example.com
END:VCARDEvery field makes the code denser
A vCard is the heaviest common QR payload. Each property adds tens of characters, each character adds modules, and on a business card the code already fights for space. A name, one number, and one email scan easily; a card stuffed with every field starts to fail exactly where it matters — small print.
Fill in only what the situation needs, watch the preview's readability check as you add fields, and if you want a logo in the centre, be prepared to drop a field to pay for it. The check will refuse the download rather than let an unreadable combination through.
If the code must stay small and complete, print it larger somewhere else — the back of the card, a flyer, a stand — instead of shrinking a dense card to postage-stamp size.
Only encode what you'd print on paper
Anyone who gets the image gets the data: a vCard code is exactly as private as the card it replaces, and it is trivially copyable. Phone and work email belong there; a home address usually does not, unless the card exists to share it.
Nothing is stored by QR Decode — the card is assembled and encoded in your browser — but once printed, the code is out of your hands. Encode accordingly.
vCard or MECARD?
MECARD is an older, more compact contact format from the feature-phone era. It produces a slightly smaller code but supports fewer fields and fewer conventions, and modern phones are built around vCard.
This generator emits explicit vCard 3.0: broader support, cleaner field mapping, and a payload you can read line by line when something needs debugging. If you have a legacy scanner fleet that only speaks MECARD, you will know — everyone else should not choose it.
How saving works on iOS and Android
Both platforms show a contact preview and ask before saving — scanning never silently writes to the address book. Field mapping is mostly faithful, with small differences in how apps label organisation and website fields.
Test the exported code on one iPhone and one Android, check every field landed where you expect, then print. Contact cards get printed in batches; the two scans are cheaper than a reprint of five hundred.
The card never expires — the details do
Static means permanent: the code will offer the same contact in ten years. When your number or employer changes, printed cards go stale, and there is no remote edit — that is the honest cost of having no service dependency.
If your details change often, encode a URL code pointing to a page you control alongside the vCard, and keep the page current. The vCard handles the save-my-number moment; the page handles history.
Frequently asked questions
How do I create a vCard QR code?
Fill in the name and whichever of organisation, phone, email and website you want to share. The generator builds the vCard 3.0 record locally and shows the exact payload before you download.
Can I convert an existing .vcf file into a QR code?
This form builds the card from its fields rather than importing a file. Open your .vcf in a text editor and copy the values across — the payload preview lets you verify the result line by line.
Are vCard QR codes free and unlimited here?
Yes. No account, no per-card pricing, no watermark, and both PNG and vector SVG export. Static cards involve no hosting, so there is nothing to meter.
Do vCard QR codes expire?
No. The contact lives in the image and stays readable indefinitely. What ages is the information itself — printed codes cannot be updated, only reprinted.
Can I put a logo in the middle?
Yes, but a vCard is already a dense payload. The tool re-checks readability with the logo applied and disables the download if the combination stops decoding — trust that check.
Read a vCard as lines with punctuation rules
The contact payload is a small text file. `BEGIN:VCARD`, `VERSION:3.0`, `N:Lovelace;Ada;;;` and `FN:Ada Lovelace` have different jobs: N splits name components, while FN is the display name. A literal comma, semicolon, backslash, or newline in a field must not be allowed to become structure. RFC 6350 specifies escaping for vCard text values, including `\,`, `\;`, `\\`, and `\n`: https://datatracker.ietf.org/doc/html/rfc6350 . This generator shows the produced lines so that a reviewer can inspect `ORG:Analytical\;Engines` before a code is printed. A recognisable square that opens raw text is evidence of a receiving-app compatibility issue, not proof that the original contact fields were wrong.
Approve the saved contact, not merely the decoded payload
For a conference badge, encode only the fields a participant may retain: name, organisation, public number, public email, and a stable website. Scan the final proof on at least two target phone ecosystems, inspect the contact preview, and cancel once to ensure no unwanted field is hidden in the record; then save a test copy and check its display name and phone number. A vCard QR cannot update 500 badges after an employee changes roles, so use a stable public contact route or reprint when change is required. It also does not authenticate the person whose name it carries or stop a recipient from forwarding the contact. Avoid private mobile numbers, internal URLs, account identifiers, and notes that would be inappropriate in a photographed badge. The acceptance record should preserve the exact VCARD text, artwork revision, devices tested, and the fields that appeared after import. That record separates a malformed line ending from a device's contact-import policy.
Keep identity and routing separate
The name shown on a badge may include a job title, while the saved contact should use a stable individual or organisational name that a recipient can find later. Do not overload the organisation field with a street address, event slogan, or several comma-separated departments unless every target contact app has been tested. If the real goal is a booking page, use a URL instead of filling a contact with temporary campaign details. Before a large print, scan one code from the final PDF, not only from the browser preview. Import behaviour belongs to the phone; the generator's accountable output is the explicit vCard text it displays.
Retain the exact exported record
Archive the displayed VCARD text with the proof; screenshots alone can conceal a changed comma, escaped newline, or line ending.