QR Code for a Business Card: What Actually Fits

We measured every version of a contact code in printed millimetres. The one everybody uses turns out to be the one that fits worst.

By QRotto · Published · 8 min read

A business card is 85 by 55 mm. After margins, a logo and four lines of contact details, the space left for a QR code is usually a square somewhere between 12 and 18 mm.

That constraint decides everything, and almost nobody checks it before designing the card. So we measured what each option costs.

The short version: a complete vCard needed 27.6 mm to print reliably, which is half the height of the card. A link to a contact page needed 14.8 mm and fits comfortably.

The space you actually have

Printed QR codes have a floor. Below roughly 0.4 mm per module, ink spread and camera focus start working against you, and our scan limits test found that focus is what actually breaks a scan, not size. Every code also needs a quiet zone of four blank modules on each side, which is part of the specification rather than decoration.

So the minimum printed width of any code is (modules + 8) x 0.4 mm. That single line of arithmetic is what the rest of this article is about.

Three QR codes for the same person. A link to a contact page is 29 by 29 modules and needs 14.8 mm. A vCard with name and phone is 37 by 37 and needs 18 mm. A vCard with everything is 61 by 61 and needs 27.6 mm. All three decoded.
The same person, three ways. All three decode on a screen. Only the first one comfortably fits the space a business card actually leaves.

What each vCard field costs you

We built a vCard one field at a time and measured the printed width after each addition:

The card containsCharsGridMin printed widthFits a 15 mm slot?
Name4833 x 3316.4 mmNo
+ mobile7537 x 3718.0 mmNo
+ email10341 x 4119.6 mmNo
+ company12145 x 4521.2 mmNo
+ job title14549 x 4922.8 mmNo
+ website17453 x 5324.4 mmNo
+ office phone20157 x 5726.0 mmNo
+ postal address24361 x 6127.6 mmNo

Look at the first row. A vCard containing only a name already needs 16.4 mm, because the format itself costs about 25 characters in wrappers before you add anything. There is no such thing as a small vCard code.

From there each field costs roughly one and a half to two millimetres of printed width. The postal address is the most expensive single field in the list, and it is also the one nobody scans a business card to get.

The uncomfortable finding: the vCard QR code, the thing designed for business cards and printed on millions of them, is the worst format to put on a business card. It needs nearly twice the width of a link, for information the card already prints in readable text.

Advertisement

The alternatives, measured

ApproachCharsGridMin printed width
Phone number only1625 x 2513.2 mm
Link to your site2425 x 2513.2 mm
Link to a contact page2929 x 2914.8 mm
Email address only2829 x 2914.8 mm
vCard, name and mobile7537 x 3718.0 mm
vCard, everything24361 x 6127.6 mm

A link to a page on your own site is the smallest useful option, and it has a second advantage the vCard cannot match: you can change what is on that page. A printed vCard is frozen. Change your number and every card in every wallet is now wrong. Change a page, and every card ever printed is correct again.

We found the same thing when we tested social profile codes: a short link on a domain you own beats the format that seems purpose built for the job.

The error correction trap

The instinct when a printed code has to be small is to raise the error correction level so it survives wear. That makes things worse, and by more than people expect:

Error correction on the full vCardGridMin printed width
L, lowest57 x 5726.0 mm
M, the common default61 x 6127.6 mm
Q73 x 7332.4 mm
H, highest81 x 8135.6 mm

Going from M to H on a full vCard adds 8 mm of required width. At a fixed printed size it does the opposite of what you wanted: the modules get smaller, so the code becomes harder to read in exactly the poor light where you were hoping the extra protection would help. Our damage test covers where the extra correction does and does not earn its place.

Keep business card codes at M unless you are adding a logo, and if you are adding a logo, use a link rather than a vCard so you have room for both.

Which one to use

  1. You have a website. Link to a contact page on it. Smallest code, changeable, and the page can offer a downloadable contact file so people still get one tap saving. Use our URL generator.
  2. You do not have a website. Use a vCard with name, mobile and email only, and design the card around an 18 mm square. Our vCard generator lets you leave the rest out.
  3. The card is for one purpose, such as a tradesperson who wants calls. A phone code at 13.2 mm is the smallest and most direct thing on this list. Our phone generator makes one.
  4. Never put a full vCard with a postal address on a business card. It does not fit, and the address is printed on the card anyway.

Getting it onto the card

How we tested this

Two honest limits. The 0.4 mm floor is a widely used working figure for laser printing rather than something we measured on a press, and your printer and stock will move it. And every code here decodes fine on a screen at full size, so this is a question of printed reliability rather than whether the code is valid.

The summary

Business card QR codes fail for a boring reason. The format everyone reaches for is roughly twice the size the card can hold, so it gets shrunk to fit, and then it does not scan in a dim bar at the end of a conference day.

Point it at a page, not at a contact card. A link needed 14.8 mm against 27.6 mm for a full vCard, fits the space a real card leaves, and can be updated after the cards are printed.

If you would rather have the contact card anyway, keep it to name, mobile and email, design in an 18 mm square, and build it with our vCard generator. Either way, check the finished artwork with the stress test before the print run.

QRotto

QRotto builds free browser based QR code generators and writes the guides that go with them. Every generator is verified by decoding the codes it produces and confirming the output matches the input exactly. See our editorial standards.