vCard QR Code for Business Cards: Format, Size and Tips
Put a vCard QR code on your business card so people save your contact in one scan. Covers the vCard 3.0 format, QR density, minimum print size and card tips.
What a vCard QR code does
A vCard QR code holds a complete contact card inside the image. When someone scans it with their phone camera, the phone recognises the BEGIN:VCARD header and offers to create a new contact with your name, company, title, phone numbers, email, website and address already filled in. It turns the two minutes of typing that most business cards end up in the bin to avoid into a single tap.
Because the contact data lives inside the code, it works without an internet connection and without any server. That is also its main constraint: a vCard is one of the longest payloads you can put in a QR code, and the length directly controls how dense and therefore how large the printed code has to be. This guide covers the format, the density maths, how phones behave on scan, when a link is the better choice, and how to place the code on a card. You can build one for free on the vCard tab at [qrsvg.app](/).
The vCard 3.0 payload
vCard 3.0 (RFC 2426) is the version every phone reads reliably; vCard 4.0 exists but iOS and several Android contact apps still handle 3.0 better, and 2.1 is obsolete. The payload is plain text, one property per line, and a full example looks like this:
BEGIN:VCARD VERSION:3.0 N:Popescu;Ana;;; FN:Ana Popescu ORG:Example Studio TITLE:Creative Director TEL;TYPE=CELL:+40712345678 TEL;TYPE=WORK:+40211234567 EMAIL:ana@example.com URL:https://example.com ADR;TYPE=WORK:;;Strada Exemplu 10;Bucuresti;;010101;Romania NOTE:Met at Design Week 2026 END:VCARD
A few details matter. N is the structured name with fields separated by semicolons in the order family name, given name, additional names, prefix, suffix; FN is the formatted display name and both should be present. TEL;TYPE=CELL marks a mobile number so the phone files it correctly, and numbers in international format with a leading plus sign work when the card travels across borders. ADR has seven semicolon-separated parts (post office box, extended address, street, city, region, postal code, country), and you can leave parts empty. The generator on qrsvg.app builds this structure from a form with first name, last name, organisation, title, phone, mobile, email, website, street, city, postal code, country and note, so you do not have to remember the field order.
Why vCard beats MeCard
MeCard is a compact contact format created by NTT DoCoMo, and some generators prefer it because a MeCard payload is roughly 30% shorter than the equivalent vCard, which gives a slightly smaller code. The trade-off is compatibility and depth. MeCard has a handful of fields (name, phone, email, address, URL, note, birthday) with no notion of work versus mobile numbers, no job title, and inconsistent handling of organisation names. Its support in iOS Camera and in some Android contact apps is also patchier than vCard.
vCard is the format contacts are actually stored and exchanged in. Every phone, mail client and CRM imports it, the fields map one to one onto the contact card, and phone number types are preserved. For a business card, where the person scanning expects the contact to look right without editing, vCard 3.0 is the correct choice and the small size penalty is better handled by trimming fields than by switching format.
Keep fields minimal: payload size drives density
QR codes come in 40 versions from 21 by 21 modules (version 1) to 177 by 177 (version 40), and the generator picks the smallest version that fits your data at the chosen error correction level. At the default level M (15% recovery), version 6 (41 by 41) holds 134 bytes, version 7 (45 by 45) holds 154, version 10 (57 by 57) holds 213, version 13 (69 by 69) holds 331 and version 15 (77 by 77) holds 415. A vCard is encoded in byte mode and every character, including the field names and line breaks, counts.
The overhead alone (BEGIN:VCARD, VERSION:3.0, END:VCARD and the line breaks) is about 35 bytes. A minimal card with name, one mobile number, email and website lands around 120 to 150 bytes, which is version 6 or 7, a code that still prints well at 20 mm. A full card with two phone numbers, organisation, title, complete postal address and a note is easily 300 to 420 bytes, which is version 12 to 15, or 65 to 77 modules across. That is more than twice as many modules per side as a short URL, so each module is less than half the size at the same print width, and the card has to be scanned from closer and more carefully.
The practical rule: include what the recipient will actually use to reach you and nothing else. Most people want mobile, email, and either website or LinkedIn. A postal address is rarely needed on a card that is scanned, because the person can look it up once they have your website. Skip the note field unless it carries something important, and avoid a photo entirely; a base64 PHOTO property alone can exceed the entire capacity of the code.
- Essential: FN and N, one TEL;TYPE=CELL, EMAIL. Roughly 100 to 130 bytes, version 5 or 6.
- Recommended: add ORG, TITLE and URL. Roughly 150 to 200 bytes, version 7 to 9.
- Full: add a second TEL, ADR and NOTE. Roughly 300 to 420 bytes, version 12 to 15.
- Avoid: PHOTO, LOGO, long NOTE text, and multiple addresses; these push the code past version 20 and it will not scan reliably from a card.
Minimum print size for a dense code
Scanners need each module to be large enough to resolve, and in practice about 0.35 mm per module is the floor for a phone camera scanning a business card at 15 to 25 cm. For a version 7 code with 45 modules plus a 2 module quiet zone on each side (49 modules total) that means at least 17 mm; use 20 mm to be safe. A version 12 code with 65 modules plus quiet zone is 69 modules, or 24 mm at 0.35 mm per module, and version 15 at 81 modules total needs 28 mm. On a standard 85 by 55 mm business card, 28 mm is half the height of the card, which is why trimming the vCard is usually the better fix.
Error correction adds to this. Level M recovers 15% of damaged data, which covers normal wear and slight print misregistration. Raising it to Q (25%) or H (30%) makes the code tougher but also larger, since the same data needs more modules, so a vCard at level H can jump two or three versions. Only go above M when you plan to place a logo over the code, in which case qrsvg.app raises error correction to at least Q automatically. The full explanation is in error correction explained and the general sizing rules in the size and print guidelines.
What happens on scan: iOS and Android
On an iPhone (iOS 11 and later) the Camera app shows a yellow banner with the contact name and, when tapped, opens the Contacts card with an Add to Contacts button; the user can also choose to add the details to an existing contact. Numbers marked CELL appear as mobile, and the URL and email fields become tappable. If the banner says only that a QR code was detected without a name, the payload is malformed or the N and FN lines are missing.
On Android the behaviour depends on the camera app, but Android 10 and later with the stock camera or Google Lens shows a contact preview with an Add contact action that opens the Contacts app pre-filled. Samsung's camera shows a similar sheet. Some third-party scanner apps show the raw text first and require an extra tap; there is nothing you can do about that from the code side except keep the payload standard. In both systems the contact is saved locally on the phone, and there is no notification back to you that it happened.
When to use a dynamic link instead
There is a second way to put a contact on a card: encode a short URL that opens a hosted contact page, from which the visitor downloads the vCard or taps the phone number. The QR code then holds a link of 25 to 35 characters, which is version 2 or 3 and prints cleanly at 15 mm. More importantly, a dynamic QR code lets you change the destination later. Change jobs, move offices or get a new number and the cards already in circulation keep working, whereas a static vCard code is frozen at print time.
The costs are that the person needs an internet connection at the moment of scanning, that there is one extra tap before the contact is saved, and that the link depends on a service staying online. With a free account on qrsvg.app you can create dynamic codes with editable destinations and see scan analytics (scans over time, country and city, device, OS and browser), which also tells you whether people actually scan your cards. Choose a static vCard when you want zero dependencies and your details are stable; choose a dynamic link when the details may change or you want to measure results.
Print tips for business cards
A business card is one of the smallest surfaces a QR code is ever printed on, so the margins for error are thin. Give the code its own quiet corner of the card and keep everything else away from it.
- Size: at least 20 mm wide for a minimal vCard, 25 mm or more for a full one; never below 15 mm even for a short URL.
- Contrast: dark modules on white or a very light tint. Foil, metallic ink and spot UV over the code cause reflections that break scans.
- Quiet zone: keep the default 2 modules of empty space, and do not let the card edge, a border line or text touch the code.
- Format: send the printer the SVG or PDF export so the modules stay sharp; a PNG must be at least 300 pixels for a 25 mm code at 300 dpi.
- Styling: rounded or dot modules are fine at this size, but skip gradients that fade toward the background color and keep any logo under 20% of the code width.
- Paper: uncoated or matte stock scans more reliably than glossy; textured or dark papers need a white printed panel behind the code.
- Proof: print one card at final size on the actual stock, scan it with an iPhone and an Android phone, and check every field in the saved contact before ordering the run.
- Fallback: print your name, phone and email as text too, for people who prefer not to scan or whose camera fails in poor light.
How to make a vCard QR code for a business card
- 1
Open the vCard tab
Go to qrsvg.app and choose the vCard content type in the generator.
- 2
Fill in only the fields you need
Enter first and last name, mobile number in international format, email, and optionally organisation, title and website. Leave address and note empty unless essential to keep the code small.
- 3
Check the density
Look at the preview: a comfortable card code is about 41 to 49 modules across. If it looks much denser, remove a field.
- 4
Style within limits
Choose module and eye shapes and a dark color on a light background. Keep error correction at M, or let the generator raise it to Q if you add a small logo.
- 5
Download SVG or PDF
Export a vector file for the printer, or a PNG of at least 300 pixels if your card template only accepts raster images.
- 6
Proof and test
Print one card at final size, scan it with both an iPhone and an Android phone, open the saved contact and verify every field before printing the batch.
Frequently asked questions
- What is the best QR code format for a business card?
- A vCard 3.0 payload with only the essential fields (name, mobile, email, website), printed at 20 mm or larger. If your details may change, use a dynamic QR code that links to a contact page instead.
- How big does a vCard QR code need to be?
- About 20 mm for a minimal vCard (version 6 or 7), 25 to 28 mm for a full one with address and two numbers (version 12 to 15). Each module should be at least 0.35 mm when printed.
- Does a vCard QR code work on iPhone and Android?
- Yes. iOS 11 and later shows an Add to Contacts card from the Camera app, and Android 10 and later or Google Lens shows an Add contact action with the fields pre-filled.
- Should I use vCard or MeCard?
- vCard. MeCard is shorter but supports fewer fields, has no phone number types and is read less consistently. Trim the vCard fields instead to keep the code small.
- Can I add my photo to a vCard QR code?
- Technically yes, but even a tiny embedded photo pushes the payload past what a scannable code can hold. Leave the photo out or link to a contact page that includes it.
Free, no signup
Make this QR code now
Clean SVG, PNG or PDF in seconds. Style it, add a logo, download.