QR Codes for Business Cards
A business card gives you about 20 millimetres of usable square, which is enough for a robust code or an ambitious one, but not both. Almost every card that fails made the same choice.
How much room you actually have
A standard card is 85 × 55 mm. After margins, a QR code that does not dominate the layout comes out somewhere between 15 and 25 mm.
A card is read from about 20 cm, so the 10:1 rule asks for 20 mm. That is the number to design around, and 25 mm if the layout allows. Below 18 mm you are relying on the payload being very short.
| Code width | Module count that still works | Realistic payload |
|---|---|---|
| 15 mm | Up to 25 × 25 | A very short URL — example.com/mj |
| 20 mm | Up to 33 × 33 | A normal short URL, or a trimmed MECARD |
| 25 mm | Up to 41 × 41 | A short URL with room to spare, or a minimal vCard |
| 30 mm | Up to 49 × 49 | Comfortable, but dominates a card |
Do not forget the quiet zone. A 20 mm symbol needs about 25 mm of clear space in the layout, and that space cannot contain a rule, a logo edge or the card's trim line.
What to put behind it
Three options, and only one of them is usually right.
A link to a contact page. Twenty characters, a coarse version 2 or 3 symbol, and it will scan from a moving hand in bad light. The page can serve a .vcf download, your current details, a portfolio, whatever you like — and you can change it after the cards are printed. This is the option to choose unless you have a specific reason not to.
A full vCard. Works offline and imports directly into the contacts app, which is genuinely nice. But a complete vCard is 250–400 bytes, which at level M is a version 13 symbol — 69 modules across. At 20 mm that is a 0.29 mm module, comfortably below the floor our resolution testing found. It will not reliably scan. If you want a vCard on a card, it has to be trimmed hard — name, one phone, one email — and the code printed at 25 mm.
A LinkedIn or social profile. Fine, if that is genuinely where you want people to land. Watch the URL length: some profile URLs are long enough to push the symbol two versions higher than you expect.
Where it goes
- Back of the card, in a corner. The back is usually emptier, and a corner leaves the quiet zone easy to protect.
- Not across the fold on a folded card, and not near the trim edge — trimming tolerance is ±1–2 mm, which is several modules.
- Say what it does. One line under the code: "Scan to save my details" or "Scan for portfolio". A bare square gets scanned much less often, because people will not spend a scan finding out.
- Print the URL too, small, if the code points at a page. It costs one line and rescues everyone whose camera will not cooperate.
Design decisions that break codes
- Inverting it to match a dark card. We measured this: zero successful reads. Put a light plate behind the code instead, extending four modules past it on every side. Details in how to print a QR code.
- Spot UV or foil over the code. Both create exactly the specular reflection that wipes out a region of the symbol under office lighting.
- Rounding the corners of the code or the "dots" styling some tools offer. The three corner squares are the finder patterns, and our tests found that obscuring a single module of one made the code unreadable at every error-correction level.
- A logo in the middle is fine — under 10% of the area, dead centre, level Q or H. Anywhere else, it is not.
- Coloured codes. Possible, if the dark modules stay genuinely dark. Mid-tone brand colours on cream stock are where this goes wrong.
Print settings
Send the code as vector inside the artwork — SVG placed in the layout, exported to PDF. If your printer wants a bitmap, generate the PNG at final size: 20 mm at 600 dpi is 472 pixels.
Uncoated and textured stocks are the ones to be careful with. Ink spreads into them, which shaves a fraction off every module edge at once — the kind of scattered damage our error-correction tests found to be four to seven times more destructive than a single blot of the same area. On uncoated card, add a couple of millimetres to the code.
Level M is right for a business card. Raising it to H adds modules, which makes each module smaller, which is the opposite of what a small code needs.
Written by Manuel Llovet, who builds and maintains QR Code Free Forever. Published 2026-08-31, last checked 2026-09-08. Figures and measurements on this page were produced for this site; the method is described in each caption.