Static vs dynamic QR codes
A static QR code encodes its destination directly into the pattern itself. Whatever URL, text, or contact card you put in when you generate it is baked into the code permanently. There is no third party involved once it's created, and it works exactly the same way the day you print it as it does ten years later.
A dynamic QR code instead points to a short redirect link owned by whichever service generated it. That service looks up the redirect and sends the scanner on to your real destination. This lets you change where the code points after it's already printed, and usually comes with scan analytics.
That flexibility has a real cost: your QR code now depends on that company staying in business, keeping your account active, and not putting the redirect behind a paywall later. Plenty of small businesses have printed thousands of dynamic QR codes on packaging, only to have them stop working when a subscription lapsed or a service shut down.
For most small businesses, a static QR code is the right default. If you need to change the destination later, print a new code, or link to a page you control that can itself redirect wherever you want. You get the flexibility without handing a stranger's server the job of keeping your printed materials functional.
Dynamic QR codes do have a legitimate place. A marketing team running short-lived campaigns, testing several landing pages, or genuinely needing scan-by-scan analytics across dozens of locations might find the tradeoff worth it. But that's a narrower case than most of the QR code generators on the market let on, and it's worth being honest with yourself about whether you actually need that flexibility or whether you're paying for it out of habit.
There's also a quieter cost to dynamic codes that doesn't show up until later: every scan now takes an extra network hop through the middleman's redirect server before it reaches your real page. On a slow connection, that adds a noticeable delay between the scan and the page loading, which is exactly the wrong moment to make someone wait.
What makes a QR code print well
A QR code that looks fine on a screen can fail completely once it's shrunk down and printed. A few things determine whether it actually scans:
- Size relative to scan distance. A code held six inches from a phone can be small. A code on a poster meant to be read from across a room needs to be much bigger.
- Contrast. Dark modules on a light background scan far more reliably than color-on-color combinations, especially under printing that can shift colors slightly or under uneven lighting.
- Quiet zone. QR codes need a clear margin of blank space around the pattern. Cropping the code too tight, or placing it flush against text or a border, is a common reason scanners fail.
- Print resolution. A code exported at a low resolution and then blown up for a large print job turns blurry, and blurry edges confuse the scanner's ability to distinguish modules.
A useful rule of thumb: aim for roughly 2x2 cm of QR code for every meter of expected scanning distance. A code on a business card scanned at arm's length can be small; a code on a storefront poster scanned from across the sidewalk needs to be considerably larger.
Always print a single test copy and scan it with two or three different phones before committing to a run of 1,000 menus or business cards. It takes thirty seconds and catches contrast or sizing problems before they're expensive.
It's also worth testing under the actual lighting the code will be scanned in, not just the lighting of your office. A code that scans fine under bright desk light can be harder to read under a dim restaurant table lamp or the fluorescent glare of a shop counter. If your printed material is glossy, tilt the test print under a light source the way a real scan angle would sit, since glare across a laminated menu is a genuine, easily-missed failure mode.
One more thing worth checking before a large print run: make sure whatever encoded content you chose (a URL, a vCard, a WiFi credential) is actually correct and doesn't have a typo. A perfectly printed, perfectly sized QR code that points to a broken link is still a wasted print run, just a crisp-looking one.
Business cards, menus, and packaging: practical use cases
The QR code itself is only half the job. What it points to matters just as much:
- Business cards. A vCard (so the scan saves your contact info directly to the phone) or a link to a single landing page with everything someone needs works well.
- Restaurant menus. Link straight to the menu PDF or an online menu page, not your homepage. Someone scanning from a table wants the menu in one tap.
- Packaging. A WhatsApp link for support, a warranty registration page, or a how-to-use video are all things people actually want at the moment they scan.
What not to do: don't point a QR code at your homepage "just to be safe." A scan is a moment of specific intent, and sending someone to a generic homepage where they now have to hunt for what they actually wanted is usually a wasted scan.
The same logic applies to event flyers, product packaging inserts, and vehicle wraps. Someone scanning a code on a flyer for a specific sale wants that sale's page, not your general catalog. Someone scanning a code on the side of a delivery van is probably curious about your services right then, so a short services overview or a booking page beats a homepage that makes them click around to find it.
A useful habit is to write down, before you generate the code, the single sentence describing what someone gets one tap after scanning. If that sentence is vague ("more info about us"), the destination is probably wrong. If it's specific ("today's lunch menu" or "save my number"), you've picked the right link.
How to generate a QR code for free
You don't need design software or a paid subscription to make a print-ready QR code. Our own free QR code generator creates the code entirely in your browser, with no sign-up required, and lets you download it as either PNG or SVG. Because it produces a static code, there's no expiry and no dependency on our servers staying online after you've downloaded it.
SVG is worth choosing over PNG whenever you're sending the file to a professional printer or scaling it up for a poster, since it stays sharp at any size instead of degrading like a fixed-resolution image. PNG is perfectly fine for anything staying digital-sized, like a code embedded in a slide deck or an email signature.
Because everything happens client-side in the browser, there's also no waiting for a server round trip, no account to create, and no limit on how many codes you generate. That matters more than it sounds when you're producing a batch of codes for a multi-location menu rollout or a set of different product SKUs, since you can generate, download, and move to the next one in seconds rather than working through a paid tool's usage cap.
Common mistakes to avoid
- Making the code too small. Shrinking a QR code to fit a tight design spot often puts it below the size a phone camera can reliably resolve.
- Low contrast or busy backgrounds. A code embedded in a photo or a light gray background is a common source of scan failures.
- No call-to-action next to the code. A bare QR code with no label leaves people guessing what it does. A short line like "Scan for menu" or "Scan to save our contact" fixes this instantly.
- Using a dynamic or shortened QR from a service that might shut down. If you're printing thousands of copies of something, that code needs to work in five years, not just today.