FREE. ALWAYS STATIC.

vCard QR code generator for the details worth keeping.

Put your contact details in the code so a compatible phone can offer to save them, even without opening a website.

01

Make it yours.

Made in your browser
More fields+

Example content — replace it with your own before printing.

What you type is never uploaded.
LIVE PREVIEWPNG · 1024 px
QR code preview
Checking scannability…

A simulated scan, not a guarantee. Test with real phones before printing.

WHAT’S INSIDE YOUR CODE
BEGIN:VCARD
VERSION:3.0
N:Morgan;Alex;;;
FN:Alex Morgan
ORG:Morgan Studio
TITLE:Designer
TEL;TYPE=CELL:+12015550123
EMAIL;TYPE=INTERNET:alex@example.com
URL:https://example.com/
END:VCARD

Your camera should read exactly this content. No PactQR short link in between.

198 bytes · v10
Scan this to test your phone camera.

Scan this to test your phone camera.

No sign-upNo expiry tricksNo watermarkMade in your browser
What you type is never uploaded.

PACTQR

No expiry date.

Your link or details are stored in the QR itself. PactQR doesn’t add a redirect or set an expiry date on the downloaded code.

Keep the destination working.
A website QR still needs a live web address. A WiFi QR needs the same network name and password. PactQR doesn’t control those destinations.
Need to change what’s encoded?
Make a new QR if you change its URL or details. You can update a page’s content without reprinting, as long as its web address stays the same.

Share a name, phone number, email and website in one structured contact card. This generator writes vCard 3.0 content directly into the QR pattern and can provide the matching .vcf file. Keep the fields purposeful: a concise contact card is easier to scan and easier for someone to keep.

What a vCard QR code generator puts in the pattern

A vCard is structured contact information that an address-book application can import. This code contains the contact text itself instead of a link to a hosted profile. The pattern can therefore be decoded without an internet request. Saving the contact still depends on a reader or app that recognizes the format.

The payload begins with BEGIN:VCARD and VERSION:3.0, then contains fields such as N:Morgan;Alex;;; and FN:Alex Morgan. A phone field can look like TEL;TYPE=CELL:+12015550123, followed by EMAIL;TYPE=INTERNET:alex@example.com and other optional information. END:VCARD marks the end. The preview shows the actual structure your scanner will read.

The structured N field puts the family name before the given name. FN is the formatted display name. Both matter because an importing app may use one for sorting and the other for display. Enter name parts in the corresponding fields, and keep a compound surname together when that is how the person uses it.

Why this vCard QR code generator uses version 3.0

Version 3.0 is a practical contact interchange format for this workflow. The generator uses UTF-8 and the required structure so accented and non-Latin characters have a consistent representation. Earlier formats and incorrectly decoded text can produce broken names; a newer version number alone does not guarantee better support in every scanner. Test the actual spelling after import, including names such as José or Müller.

IETF RFC 2426: vCard 3.0

A contact QR code or a link to a digital business card?

A direct vCard is useful when someone wants your details in their contacts. A hosted business-card page is useful when you want to present a broader profile, include a photo or update information at the same web address. They solve related but different tasks.

This tool creates the direct contact payload. Its size grows as you add fields, because those details need to fit inside the pattern. A hosted page can use a short URL and change the page later, but opening it requires that website to remain accessible. Neither approach makes publicly shared contact details private.

QuestionDirect vCard payloadHosted profile link
Can it be read without internet?The contact text can be decoded offlineThe website needs access
Can details change after printing?No; make a replacement codeThe page content can be updated
What affects pattern density?All included contact fieldsThe length of the URL
Where are details stored?Inside the exported patternOn the website behind the link
What does this tool provide?A contact payload and .vcf exportUse the URL tool for your own page

Save a contact from a vCard QR code

Start with the phone's camera or a trusted scanner. If it recognizes vCard, it may display a contact preview and offer to add or create a contact. Review the name, phone and email before confirming. The code does not silently write to somebody's address book, and the generator cannot decide whether the app merges with an existing contact.

On Android, the built-in camera or Google Lens may provide the contact action, depending on the phone and version. On iPhone, try Camera or an available code reader. If you only see raw text, the reader may decode the pattern correctly but lack vCard handling. Try another compatible reader or use the .vcf file through a contact application.

Test more than the opening screen. Save a trial contact, inspect how the fields appear, and delete the trial entry afterward if it is not needed. Contact applications can label phone types differently or ignore optional properties. A successful decode confirms the text, while a complete import test checks whether the details land in useful places.

Keep your vCard QR code easy to scan

Every extra field adds content. Begin with a name and the contact methods someone actually needs, then add company, role or address only when useful. A long biography in Notes is rarely necessary on a business-card code. If the preview becomes dense, remove optional information before reducing the printed size.

The symbol's version tells you how many modules fit across the pattern. Version 10 has 57 modules on each side; with a four-module quiet zone, that is 65 modules across. At an illustrative module width of 0.4 mm, the total width is 26 mm. This calculation shows why a detailed contact can need more than a very small corner of a card.

A photo is a poor fit for a direct contact QR payload because image data grows rapidly. Put the photograph on a website if it is important and include that URL instead. A small decorative logo over the QR pattern is a separate feature: it does not become the contact's imported photo and still needs a real scan test.

DENSO WAVE: symbol versions and capacity

Business cards and cards for your team

Place the code on the back or in a clearly separated area on the front. Give it a caption such as “Save my contact,” leave the quiet zone intact and keep it clear of trim edges. The printed name and at least one contact method should remain readable without scanning. This also helps a recipient distinguish several cards later.

For a team, prepare and check a separate contact for each person. Use a consistent field policy: a shared main office line may be useful, but a private mobile number should not appear merely because another card included one. Have the person whose details are printed confirm the final payload and a saved-contact test before the print run.

Keep each export named for its owner and version date. When a person changes roles, confirm whether their phone and email still reach the same intended recipient. A static contact card cannot update earlier address-book entries or a code already printed. Plan replacement cards and ordinary contact updates together.

Your details stay on your device while you create the card

PactQR generates the contact payload, image and .vcf file in your browser. It does not upload the form fields or keep a contact-history account. That keeps creation separate from a hosted contact directory. Save the files locally if you want to reuse them, because the site does not recover earlier entries for you.

Once shared, the code and .vcf file reveal the contact details to whoever receives them. Do not place a home address or personal number on a public sign unless that is intentional. A business email and office phone can be a more appropriate choice. Deleting the downloaded file on your device does not remove copies already printed or saved by other people.

Create a vCard QR code in three steps

Enter the name parts and the smallest useful set of contact details. Review the structured preview, especially number formatting, email spelling and the order of the name fields. Choose a simple design and a size appropriate to the displayed density.

Download the QR file and .vcf, then try both on the contact apps your audience uses. For printing, scan a final-size proof and inspect the imported record. If your details change frequently, consider a stable web page you control instead of embedding every field in a permanent printed pattern.

If the next step is reading a professional profile rather than saving contact details, use a direct LinkedIn link. Make a LinkedIn profile QR code

FAQ

Good questions. Straight answers.

How do I save a vCard QR code on iPhone?

Scan it with a compatible camera or reader and use the contact action if one appears. Review the fields before adding the contact. Reader support varies; the .vcf download provides another import route when a scanner only displays text.

How does it work on Android?

Try the phone's camera or Google Lens. A reader that understands vCard can offer to add the contact. Manufacturer and app behavior vary, so test both the preview and the saved fields on a representative device.

Why does a vCard QR code show plain text?

The image may have decoded correctly while the scanner did not recognize the contact format. Confirm that the payload starts with BEGIN:VCARD, then try a vCard-capable reader or import the .vcf file.

Why do accented letters look wrong?

Character encoding or the reader's interpretation can be responsible. This generator writes UTF-8 vCard 3.0 content, but importing apps still need to handle it correctly. Test the exact name and compare with the .vcf import rather than assuming all accented text will behave identically.

Can I include a photo?

This direct-contact workflow does not embed a contact photograph. Image data makes a QR payload much larger. Add a website with the photograph if needed; a logo placed on the QR design is decorative and is not imported as a contact photo.

Can I update the details after printing?

No. The contact data is inside the pattern. Generate a new code and replace the printed version. People who already saved the old contact will need their address-book entry updated separately.

Why are first and last names swapped?

Check which input field contains each part, and inspect the importing app's sort and display preferences. The generator writes family name first in N and the display name in FN. A contact app may still choose a surname-first display.