Get your contact code print-ready for a business card
A vCard packs your whole contact record into the pattern, which makes the code denser than a simple link and far less forgiving when it is printed small on a card. Export it as SVG or a 300-DPI PNG and every one of those tightly packed modules stays distinct under the printer's ink.
Most people find out too late that the code that scanned fine on screen fails on the finished card. The screen showed it at 400 pixels; the card printed it at half an inch, shrinking each module below what the camera can resolve. Density and print size fight each other here more than with any other type.
Fewer fields, bolder modules
The vCard format stores firstName, lastName, phone, email, org, title and url. Every field you fill adds characters, and characters add modules, so a fully loaded card produces a very fine grid that needs either a bigger print area or a higher resolution to survive.
Before you chase resolution, cut what you don't need. A name, one phone and one email make a comparatively coarse code that prints reliably at half an inch. Adding a long job title and a website can push it into a version that demands more room.
- Keep: firstName, lastName, one phone, one email.
- Drop if space is tight: org, title, url.
- A shorter payload is the cheapest way to keep a small printed code readable.
Vector for cards, high-DPI PNG for everything else
Export SVG when the code goes on a printed card, letterhead or badge. It scales without a fixed pixel grid, so the dense vCard pattern stays sharp whether it prints at half an inch or three inches.
If your print workflow only accepts PNG, calculate the pixels: physical width in inches times 300. A code occupying half an inch on a business card needs at least a 150px PNG, but exporting 600px and letting the layout shrink it gives cleaner edges.
Give a dense code more error correction
The vCard type already defaults to Q-level error correction, higher than a plain URL, because contact data is dense and cards get scuffed in wallets and pockets. Keep that setting when you print — it lets a scan succeed even if a corner is scratched or ink is uneven.
Do not drop to L to shrink the pattern. On a card that will be handled daily, the extra recovery data earns its space.
How to export a print-ready vCard code
- Fill only the fields you need. firstName and lastName plus one phone and email. Every extra field like org or title densifies the code and shrinks each module.
- Keep error correction at Q. It is the sensible default for contact data on a handled card. Lowering it to fit a smaller print is a false economy.
- Export SVG for the card. Vector keeps the dense pattern crisp at business-card size. Use a 300-DPI PNG only if the printer rejects SVG.
- Test the printed card, not the screen. Print one card and scan it at arm's length. A code that passes on a monitor can still fail once shrunk onto paper.
Technical details
- Maximum characters: 4296
- Recommended error correction: Q (quartile) — the vCard default, and worth keeping for a printed card that gets handled; the extra recovery data survives scuffs.
- vCard payloads are dense, so print size matters more than for a URL — favour SVG or a 300-DPI PNG.
- Trimming optional fields (org, title, url) coarsens the grid and lets it print smaller.
Frequently asked questions
- Why is my vCard QR code so dense compared to a link?
- Because it stores a full contact record — name, phone, email, company and more — not a single address. All that text becomes more modules packed into the same square. Trim optional fields like title and url, and the grid coarsens and prints more reliably at small sizes.
- What resolution do I need for a QR code on a business card?
- Aim for 300 DPI at the printed size. A code half an inch wide needs at least 150px, but export SVG or a 600px PNG and let the layout scale it down for the cleanest edges. Upscaling a small preview PNG is what causes cards to fail scanning.
- Should I lower error correction to make the vCard code smaller?
- No. The vCard type sensibly defaults to Q-level correction because cards live in wallets and take abuse. That recovery data lets a scuffed corner still scan. Reduce the number of contact fields instead if you need a coarser, smaller code.
- How small can a vCard QR code be printed?
- About half an inch if you keep the payload minimal and export at 300 DPI or as SVG. A fully populated vCard with company, title and website may need three-quarters of an inch or more, because the extra data makes each module smaller.
- Is SVG worth it for a contact QR code?
- Yes, especially here. The vCard pattern is dense, so any softening from upscaling hits it harder than a simple link. SVG stores shapes rather than pixels and stays sharp at any print size, from a badge to a poster, with no resolution to calculate.
- The code scans on my phone screen but not off the printed card. Why?
- The screen displayed it far larger than the card prints it. Shrinking a dense vCard onto half an inch can push modules below what a camera resolves. Re-export at 300 DPI or as SVG, cut optional fields, and give the code slightly more room on the card.