ARDOTOOLS · GUIDES

QR code for a business card: how to make a vCard QR that scans

A contact QR code carries your details inside the image itself, so scanning it offers to save you as a contact, with nothing to load. The one decision that matters is how much to put in it: every extra field makes the code denser and harder to scan at card size.

QR capacity and error-correction figures read on Denso Wave's QRcode.com and vCard rules on RFC 2426, on 14 October 2026. Neither page shows a last-updated date.

Two blank white business cards on a peach and green background

Two kinds of QR code for a card

A link-based code is short and easy to scan, and you can point it somewhere else after the cards are printed. A contact code saves your name, number and email straight into the phone, but it is fixed: a new phone number means a new code and reprinted cards. If your details change often, use a link. If they do not, a contact code spares the person from typing anything.

What is inside a vCard

A vCard is a small block of text. The version the vCard QR Generator writes is 3.0, and a minimal card looks like this:

BEGIN:VCARD
VERSION:3.0
N:Lopez;Maria;;;
FN:Maria Lopez
TEL:+1 555 010 1234
EMAIL:maria@lopezstudio.example
END:VCARD

The vCard 3.0 specification, RFC 2426, requires three things: VERSION, FN (the full name shown on the card) and N (family and given name, which contact apps use to sort). It ends each line with a carriage return and line feed, and says semicolons and commas inside a value must be escaped with a backslash, so a company called "Smith, Jones" is written Smith\, Jones. A good generator does all of this for you.

Why shorter scans better

A QR code is a grid of small squares called modules, and the more data it holds, the bigger the grid. Denso Wave, the company that created the QR code, lists the sizes: the largest version is 177 by 177 modules and holds up to 2,331 bytes of text at the error-correction level this generator uses. Level M, which restores about 15% of a damaged code, is the one Denso says is most frequently selected.

A business card needs only a fraction of that, but the fraction still changes the grid. These are two real cards built with this format, using made-up details:

On a code printed 25 mm wide, each module on the smaller code is about 0.51 mm and on the larger one about 0.44 mm. A printer or a phone camera has a harder time with the smaller squares. Denso's own advice is to pick the module size with the capabilities of the printer and the reader in mind, and it gives no minimum number, so the real test is to print one and scan it.

Put in only what a person needs to reach you: name, one phone number, one email. A long address, a second phone number or a tagline each cost you scan reliability on a code that is already small.

Printing it so it works

  1. Leave a blank margin around the code. Denso says a margin is required. The generator's PNG already includes one, so do not crop it off, and do not run text or artwork up to the edge.
  2. Use dark on light, with strong contrast. Black on white is the safest. A pale code, or one printed over a photo, is a common reason a scan fails.
  3. Use the SVG for print. A vector file stays sharp at any size. The PNG is 260 pixels square, fine for a screen or a small print, but scaled up it goes soft at the edges, and the squares are what the camera reads.
  4. Print one first. Scan it with two different phones, at arm's length and close up, before you order a batch of cards.
  5. Check the phone number. Write it in full international form with the plus sign, so a phone dials it correctly wherever it is scanned.

If your details change often

Point the code at a page you control and update the page. A short link makes a simpler, easier-to-scan code than a full contact. If you want to track how many cards turn into visits, add campaign tags with the UTM Campaign Builder, and read how UTM parameters work first. For a link code you can also 3D print as a keychain or a plaque, ArdoQR makes one from the same link.

Mistakes to avoid

  1. Packing in every field. More data means a denser code and smaller squares at the same size.
  2. Skipping the name. Contact apps show an empty card without one.
  3. Printing before testing. A code that scans on screen can fail on paper.
  4. Expecting to edit it later. A contact code is fixed once printed. For anything that changes, use a link.

Make your contact code

Fill in the vCard QR Generator and download the code as a PNG or SVG, or take the same contact as a .vcf file to attach to an email. The page shows the vCard text and its size in bytes as you type, so you can see when a field is making the code too dense. Fields you leave empty are left out.

These are general recommendations, not a guarantee of how a particular phone or printer will behave. The authorities are Denso Wave's QR Code capacity table and RFC 2426.

Keep reading

All guides