A vCard QR code is a square barcode that holds your full contact details in a standard text format, so anyone who scans it can save your name, phone, email, and company straight to their phone in one tap. It works with the built-in camera app on both iPhone and Android, no extra app required, and turns a printed business card into a contact that lands in Apple, Google, or Outlook contacts instantly. The catch most generators hide: a properly made vCard QR code can be static, free, and permanent.
The QR market is full of "free generators" that quietly make your code expire, route it through a tracking redirect, or lock the contact behind a landing page after a trial ends. You do not need any of that. A vCard QR code can encode the contact data directly, so it keeps working forever with zero subscription. This guide explains the actual format, which fields scanners reliably save, and how to make one you can print today and trust for years.
What a vCard QR Code Actually Encodes#
A vCard QR code does not link to a profile page. It contains the contact information itself, written in the vCard format, the same plain-text standard your phone already uses when you share a contact card over AirDrop or email. When the camera reads the code, the phone recognizes the BEGIN:VCARD header, parses the fields, and offers to create a new contact. Nothing is fetched from a server, which is why a static vCard code never expires: the data lives in the dots, not on someone else's website.
Here is what the encoded payload looks like under the hood:
BEGIN:VCARD
VERSION:3.0
N:Zahoor;Saqib;;;
FN:Saqib Zahoor
ORG:Molixa
TITLE:Founder
TEL;TYPE=CELL:+15551234567
EMAIL:saqib@example.com
URL:https://molixa.app
END:VCARD
Each line is one field. FN is the full display name, N is the structured name (last, first), ORG is the company, TEL is the phone, and so on. The scanner maps each line to the matching field in the phone's address book.
Tip: Always include
FN(formatted name). Some older Android scanners save the contact but leave the name blank if onlyNis present, which buries you as "No Name" in someone's contacts.
vCard 3.0 vs 4.0: which version to use#
You will see two common versions. Use VERSION:3.0 unless you have a specific reason not to. Version 3.0 is the most widely supported across iOS, Android, Outlook, and Google Contacts, while 4.0 is newer and cleaner but still parsed imperfectly by some phone scanners, occasionally dropping the photo or structured address. For a card you are handing to strangers whose phones you cannot control, maximum compatibility beats format elegance every time.
Which Fields Scanners Actually Save#
This is where most articles wave their hands. The vCard spec defines dozens of fields, but real-world scanners save a reliable core and ignore or mangle the rest, and encoding everything just bloats the code and makes it harder to scan.
| Field | vCard line | Reliability | Include it? |
|---|---|---|---|
| Full name | FN + N | Excellent | Always |
| Mobile phone | TEL;TYPE=CELL | Excellent | Always |
EMAIL | Excellent | Always | |
| Company | ORG | Excellent | Yes |
| Job title | TITLE | Very good | Yes |
| Website | URL | Very good | Yes |
| Work phone | TEL;TYPE=WORK | Good | If relevant |
| Physical address | ADR | Mixed | Only if needed |
| Photo | PHOTO | Poor | Avoid |
| Notes | NOTE | Good | Optional |
The two fields to think twice about are address and photo. A physical address (ADR) has a strict semicolon-separated structure (;;street;city;region;postal;country), and getting it wrong leaves a half-filled address that looks broken, so only include it if a mailing address genuinely matters. A photo (PHOTO) embedded as base64 data balloons the code until the pattern is dense and slow to scan, sometimes failing on a phone held at arm's length. Skip the embedded photo on a printed card and link to a hosted image instead.
Warning: Every field you add makes the QR pattern denser. A name, phone, email, company, title, and URL scan beautifully even when printed small. Cram in an address, two phone numbers, notes, and a photo, and you get a wall of tiny dots that fails under bad lighting or a slightly bent card.
Static vs Dynamic vCard QR Codes (The Honest Difference)#
This is the decision that determines whether your code is free and permanent or a recurring bill waiting to happen.
A static vCard QR code stores the contact data directly in the pattern. There is no middleman, so it is free, it never expires, and it works offline. The only limitation is that you cannot edit it after printing, because the data is the code. Change your phone number and you reprint.
A dynamic vCard QR code stores a short URL that redirects to a hosted contact page. The benefit is editability and scan analytics. The cost is real: most dynamic codes live on a paid subscription, so if you stop paying, the redirect dies and your printed cards become dead squares, and the data also needs an internet connection to load.
For a business card, static usually wins. You control nothing about the recipient's environment, so offline reliability matters; business details like your name, company, and core email rarely change overnight; and you avoid the trap of a "free" code that bricks itself when a trial lapses. Choose dynamic only if you genuinely need to swap details on already-printed cards or want scan tracking. For everyone handing out cards at events, a static code is the right answer, and our free QR code generator builds static vCard codes with no expiry and no account.
How to Make a vCard QR Code That Works#
You do not need to hand-write the vCard text unless you want to. A good generator builds the BEGIN:VCARD block from a simple form and renders the code for you. Here is the process that produces a card people can actually scan.
Step 1: Enter your core contact fields#
Fill in full name, mobile number, email, company, and job title, plus a website if you have one. Resist the urge to enter every field the form offers; keeping it to the essentials keeps the QR pattern clean and fast to scan. Use the full international phone format with the plus sign and country code, for example +15551234567, since a bare local number can fail to dial when the recipient is in another country.
Step 2: Generate a static code, not a dynamic one#
Confirm the tool is producing a static code that embeds the data, not a redirect link. The giveaway is whether it asks you to create an account or pushes "tracking" and "edit later" as paid features. A true static vCard code generates instantly with no signup, so the contact data lives in the code itself.
Step 3: Test the scan on a real phone before printing#
Open the camera on an iPhone and an Android phone if you can, point it at the code on your screen, and confirm the "Add Contact" prompt appears with your name and details filled in correctly. This thirty-second check catches a blank-name bug or a mistyped email before you order 500 cards. Scan it from the distance and size you plan to print at, because a code that reads fine at full screen can fail at the size of a thumbnail on a card corner.
Step 4: Export at high resolution and add quiet space#
Download the code as an SVG or a high-resolution PNG. SVG is ideal for print because it scales to any size without blurring; if your design needs a fixed-size raster, export PNG at 1024 pixels or larger. Leave a clear margin (the "quiet zone") of at least four QR modules around the code, since printing it edge-to-edge against text or a border is the most common reason a valid code refuses to scan. If you need to convert formats for your print template, our SVG to PNG converter handles the export cleanly.
Where vCard QR Codes Earn Their Keep#
A vCard QR code is not just a business-card gimmick. It removes friction anywhere you would otherwise ask someone to type your details: printed business cards, conference badges and lanyards, email-signature and slide-deck footers, and resumes or portfolios where a recruiter can scan once and have your contact card in their phone instantly. The common thread is that typing a name, number, and email by hand is slow and error-prone, and a single scan eliminates all of it.
Common vCard QR Code Mistakes to Avoid#
A few recurring errors turn a useful code into a frustrating one. Catch these before you print:
- Printing too small: below roughly 2 cm square on paper, dense vCards get unreliable.
- No quiet zone: scanners need a blank margin around the pattern to lock on.
- Embedding a photo: it bloats the code and tanks scan speed; link to a hosted image instead.
- Local phone format: always use the international
+countrycodeformat so the number dials anywhere. - Skipping the live test: a code that "looks fine" can still encode a typo, so scan it on a real phone first.
- Choosing a dynamic code by accident: if it needed an account, it is probably dynamic and may expire.
The Bottom Line on vCard QR Codes#
A vCard QR code is the fastest way to hand someone your full contact details and have them actually keep it. The format is open, the core fields (name, phone, email, company, title, website) are universally supported, and a static code is free and permanent with no subscription and no expiry. The only real skills are keeping the payload lean and testing the scan before you print.
Make it once, test it on a real phone, export it as SVG for crisp printing, and you are done. When you are ready, generate a static contact code with the free QR code generator, and for the broader rundown on code types, error correction, and design, see our complete free QR code generator guide.
Frequently Asked Questions#
What is a vCard QR code? A vCard QR code is a QR code that stores your contact details in the standard vCard text format. When someone scans it with their phone camera, the device offers to save your name, phone, email, and company directly to their address book, with no app or website needed. It is the digital equivalent of handing over a fully filled contact card.
Are vCard QR codes free? Yes, a static vCard QR code is completely free and never expires, because the contact data is stored inside the code itself rather than on a paid server. Many commercial generators push dynamic codes that require a subscription, but you only need that if you want to edit details after printing or track scans. For a standard business card, a free static code is the right choice.
Do vCard QR codes expire? Static vCard QR codes do not expire. The contact information is encoded directly into the pattern, so the code keeps working as long as the printed image is readable, with no internet connection required. Only dynamic codes expire, and only because they depend on a hosted redirect that stops working if the subscription ends.
Which fields should I include in a vCard QR code? Stick to the reliable core: full name, mobile phone, email, company, job title, and website. These are saved consistently across iPhone, Android, Google Contacts, and Outlook. Avoid embedding a photo, since it bloats the code and slows scanning, and only add a physical address if it genuinely matters for your role.
Will a vCard QR code work on both iPhone and Android? Yes. Use vCard version 3.0 for the widest compatibility, and the built-in camera app on both iPhone and modern Android phones will recognize the code and prompt to add the contact. Always test the scan on a real device before printing, because a typo or a missing formatted-name field can leave the contact blank.
Can I edit a vCard QR code after I print it? Not if it is a static code, because the data is baked into the pattern; you would generate and print a new one. If you expect details to change often or want to update already-printed cards, a dynamic code lets you edit the underlying contact, but it requires a subscription and an internet connection to load. For stable business details, static is simpler and free.



