vCard QR Code Generator
Turn contact details into a QR code that saves straight to the address book — vCard 3.0, generated entirely on this device.
Demo — sample contact (vCard) content. Fill the form above to replace it.
Version 9 · 53×53 modules
179 of 2331 bytes at level M
Show the exact payload
This is the exact string the QR pattern encodes.
BEGIN:VCARD VERSION:3.0 N:Haddad;Noor;;; FN:Noor Haddad ORG:Verdant Labs TITLE:Field Engineer TEL;TYPE=CELL:+14155550197 EMAIL;TYPE=INTERNET:noor@verdant.example END:VCARD
Press ? for shortcuts
Do it offline:$ qrencode -t SVG -o contact.svg < contact.vcf
How to use it
- Enter at least a first or last name — the card is filed under that line, so it is the one field the builder insists on.
- Add up to three phone numbers with their kind and up to two email addresses; rows left blank simply vanish from the payload.
- Scan the preview with your own phone once — the contact sheet it offers is exactly what every guest will get.
Fill in a name, numbers and addresses and get a QR code that saves the whole contact card in one scan — a vCard 3.0 payload built in this tab, with the reserved-character escaping and 75-octet line folding the format demands handled for you. Print it on a badge or booth sign and phones file the contact instead of retyping it.
Examples
Mara Lindqvist · one cell numberBEGIN:VCARD
VERSION:3.0
N:Lindqvist;Mara;;;
FN:Mara Lindqvist
TEL;TYPE=CELL:+46705550102
END:VCARDA minimal card (fictional person): the N line splits family and given names, FN carries the display form, and the number is normalized to digits with its leading plus.
Iris Ho · company with a comma · long titleBEGIN:VCARD
VERSION:3.0
N:Ho;Iris;;;
FN:Iris Ho
ORG:Copper\, Kettle & Co
TITLE:Wholesale lead — Pacific Northwest region\, seasonal accounts desk
EMAIL;TYPE=INTERNET:iris@copperkettle.example
END:VCARDCommas separate list values in vCard, so the ones inside this fictional company and title gain backslashes — an address book shows them plain again after the scan.
Every example on this page is executed against the same engine that powers the tool, on every build.
Gotchas worth knowing
MECARD is read about here, not generated
The older MECARD format packs contacts tighter, but modern phones parse vCard 3.0 universally and address books map its fields more faithfully — so this builder emits vCard only and declines to offer a second grammar that would scan differently on different handsets.
Long lines fold at 75 octets
The vCard rules cap physical lines at 75 octets, continuing on the next line behind a single space. The builder folds automatically and readers unfold losslessly, which is why a long street address shows as two payload lines yet one field in the saved contact.
Common errors
Enter a first or last name — a vCard is filed under its FN line and cannot be blank.- Every other field is optional, but a contact with no name cannot be filed anywhere, so the builder refuses instead of emitting a card that address books reject or display empty.
Phone "front desk, ask for Sam" could not be read — use 3 to 15 digits with an optional leading +; spaces, dots, dashes and parentheses are fine.- TEL lines carry dialable numbers, not instructions. Notes like this one belong in the title or company field — the phone rows accept digits, a leading plus and everyday separators only.
FAQ
Which fields end up in the saved contact?
Name, company, job title, up to three typed phone numbers, two email addresses, a website and a street address — each present only when you filled it in. That set maps one-to-one onto the vCard properties phone contact apps import reliably.
Why vCard 3.0 rather than 4.0?
Camera scanners and address books were built against 3.0 and still parse it most consistently; 4.0 tightens the data model but gains nothing for a business-card payload, so this page encodes the version that scans everywhere.
Can the code include a photo?
No — an embedded photo multiplies the payload far past the point where the symbol stays scannable at print size. Keep the code to text fields and let the phone add a photo after the contact is saved.