How to use QR codes on business cards
By Adrian Simpson, an IT professional and web developer of 20+ years who has printed, and reprinted, a fair number of business cards. Published August 2, 2026, updated August 14, 2026.
A QR code on a business card saves someone typing your details in. That's the whole value, and it only works if the code is big enough to scan and points somewhere worth landing.
What to link to
Not your homepage. Someone scanning a card at an event has ten seconds of attention and a homepage makes them go looking.
Size
The working rule of thumb is that a code scans from about ten times its own width. A 1 inch code reads comfortably from 10 inches, which is roughly where someone holds a card.
Don't go below about 0.8 inches, or 2cm. Smaller than that and you're relying on a good camera and steady hands, and older phones will struggle. On a standard card that means the code takes up a real corner of one side, which is a design constraint worth planning for rather than fighting.
Leave the quiet zone alone
A QR code needs clear space around it to be recognised. The standard is four modules, meaning four of the little squares, on every side.
The most common print failure. A designer tucks the code tight against text or a coloured panel to save room. The code looks fine and scans badly. Keep the white border.
Contrast and colour
Dark code on a light background. That's the direction scanners expect, and inverting it makes some readers fail outright.
You can use a brand colour instead of black as long as it stays genuinely dark against the background. Mid-greys, pastels, and anything low contrast are where it goes wrong. Print is less forgiving than screen, so if it looks marginal on your monitor it'll be worse on card.
Keep the content short
More characters means more modules, and more modules means each one is smaller at the same printed size. A short link scans from further away than a long one.
If your URL has tracking parameters hanging off it, use a short link instead. The code gets visibly simpler.
Encoding contact details directly
A QR code can hold your contact details themselves rather than a link to them, using a format called vCard. Scan it and the phone offers to save a new contact with no page load and no internet needed.
The catch is length. A vCard with name, company, job title, two phone numbers, an email, a website, and a postal address can run past 200 characters, and every character adds modules. The code gets denser, each module gets smaller at the same printed size, and the scanning distance drops right when you need it most.
Trim it to what someone actually needs. Name, company, one phone number, one email, and a website is usually enough, and it keeps the pattern open enough to scan from arm's length. The full postal address is what pushes most vCards over the edge, and almost nobody needs it saved to their phone.
If you want everything, link to a contact page instead and let the page hold the detail. A short URL encodes in a fraction of the space.
Static and editable codes
Worth understanding before you print 500 of anything, because the choice is hard to reverse.
A static code holds its content in the pattern itself. Nothing sits between the scan and the destination, nothing can be switched off, and there's no account to keep paying for. What you can't do is change where it goes, because changing the destination means changing the pattern.
The other kind, sold as a "dynamic" code, points at a redirect owned by a third-party service, which then forwards to wherever you've currently set it. You can change the destination after printing, and you get scan statistics. You're also permanently dependent on that service staying up and staying paid. Cards printed against a redirect that stops working are just cards with a broken square on them, and this has happened to plenty of people whose free plan quietly ended.
The middle path. Use a static code pointing at a short URL on a domain you own, like yourdomain.com/card. You keep the ability to redirect it later, with no third party in the chain and nothing to renew but your own domain.
Error correction, and why logos work
Every QR code carries redundant data so it still reads when part of it is damaged, and there are four levels of it. Low recovers around 7% of the code, medium about 15%, quartile 25%, and high roughly 30%.
That's the trick behind codes with a logo in the middle. The logo isn't a hole in the data, it's covering modules the error correction can rebuild. Which is also why it stops working when the logo gets ambitious: cover more than the level allows and there's nothing left to reconstruct from.
Keep any logo under about 20% of the code area even at high correction, centred, and never over the three large squares in the corners. Those are the position markers a reader uses to find and orient the code, and covering one breaks it completely.
Higher correction costs you density, since the extra recovery data makes the pattern busier at the same size. For a small card code with no logo, medium is a reasonable default. Push it up if the card will live in a wallet and take some wear.
Print the URL as well
A code with no readable address underneath assumes everyone scans. Some people won't, some can't, and some are looking at your card on a screenshot with no second phone to point at it.
A short line of text next to the code covers all of that, and it doubles as a trust signal. People are warier of scanning unlabelled codes than they used to be, with good reason, and seeing where it goes before they scan makes them likelier to do it.
Test before you order
Print one card at actual size on a normal printer. Not scaled to fill a page, actual size. Then scan it with a couple of different phones, one old, in the sort of light you'd find in a room rather than at a window.
Also check where it goes. A code that scans perfectly and lands on a page that isn't mobile-friendly has wasted the scan.
Static codes don't expire. The content is encoded in the image itself, so nothing can switch off. The flip side is that it can't be edited later, so point it at a URL you control and can redirect if you ever need to.
Print resolution
Download at a larger size than you need and let the printer scale it down. Scaling a small image up produces soft edges, and soft edges are what a scanner struggles with. For print, 300 DPI at final size is the usual target.
Make one
The QR code generator makes a static PNG in your browser, with size and colour controls and nothing stored anywhere. For posters, menus, and anything read from a distance, see QR codes for menus and flyers.
This is general guidance rather than a technical guarantee. Printers, phones, and cameras vary, so test your own code before ordering in bulk.