Why a static QR code beats a "dynamic" one — for most jobs
The QR you generate above is a static code. The URL you type in is literally what the black-and-white pattern encodes. When a phone camera decodes it, the URL comes out of the image itself — no server call, no redirect, no lookup. That's the whole reason it can't ever "expire": there is nothing to switch off. The image and the destination are the same object.
A dynamic QR code encodes a short URL that points to a tracking server (usually the QR provider's own domain, like qr.qrcodegenerator.com/abc). The server looks up your real destination and redirects the phone there. That extra hop is what "dynamic" providers sell — because they own the redirect, they can change where the QR sends people after you print it, count scans, or geo-target. It also means they can stop the redirect any time — if you don't pay the renewal, the QR stops working. Millions of printed materials have been quietly bricked this way.
For most real jobs — a business card, a menu, a WiFi sticker on the fridge, a link on a resume — you never needed the tracking layer, and the "expire on non-payment" behavior is a bug, not a feature. A static QR is the honest version of the same thing.
When you actually do want dynamic
Two cases where dynamic is genuinely worth the tradeoff:
- Marketing campaigns where you need per-source scan counts and can't add UTM parameters to the destination URL (rare — you almost always can).
- Printed material where the destination URL is not yet decided at print time and needs to be changed later. If you already know the URL, static wins.
Everything else — the WiFi password, the vCard, the menu PDF hosted on your own domain — is a static-QR job. Print it once, own it forever.
The trick behind "free" QR generators
The category is full of tools that call themselves free but ship a dynamic redirect through their own domain by default, then charge a monthly fee to keep it alive. If you didn't read the fine print, your "free" QR code has a subscription clock running on it. Here's what a few of the popular ones actually do:
| Provider | What "free" gets you | What happens if you stop paying |
|---|---|---|
| QR Code Monkey | Static PNG/SVG genuinely free, no account. One of the honest ones. | Nothing — image is yours. |
| QR Code Generator (qr-code-generator.com) | Free tier is dynamic-only after 14 days. | Free plan bricks the code — a "reactivate" upsell appears on scan. |
| Uniqode (formerly Beaconstac) | Free plan is all dynamic. Time-limited trials on advanced features. | Codes stop redirecting or hit a paywall. |
| Adobe Express QR | Static, but exports gated behind an Adobe account. | Codes work; you just needed the account. |
| Bitly QR | Dynamic through bit.ly — free tier caps monthly scans. | Above the cap, scans start failing. |
| This tool | Static SVG + PNG, no account, no watermark, no lookup server anywhere in the chain. | Nothing to stop. The image is the answer. |
The way to check any QR generator before you use it: look at the URL the code actually encodes. Open your phone camera, hover on the preview, and read the URL that pops up. If it's your URL, it's static. If it's the tool's own domain with a random slug, it's a dynamic redirect — and everything above applies.
Prove it yourself: generate a QR above pointing to any URL. Point your phone camera at the preview. The link your camera surfaces is your exact input — no cyzor anywhere in it. That's why it doesn't expire: the tool isn't in the loop.
Print size and error correction — the actual numbers
Two settings decide whether a QR actually scans in the wild: physical size relative to scan distance, and error correction level. Get either wrong and you get a code that photographs fine on your screen but fails on the printed card.
How big does the QR need to be?
The working rule for a modern phone camera in decent light is scan distance ≤ 10× the QR's width. A 1-inch code scans reliably from about 10 inches; a 12-inch code scans from about 10 feet. Below that ratio, misaligned pixels between the phone sensor and the printed modules start eating error-correction budget, and you get the "camera sees it but nothing happens" experience.
| Where it lives | Typical scan distance | Minimum printed width |
|---|---|---|
| Business card | 6–10 inches | 0.8–1.0 in (20–25 mm) |
| Menu / flyer / brochure | 10–18 inches | 1.0–1.5 in (25–40 mm) |
| Product label | 6–12 inches | 0.6–1.0 in (15–25 mm) |
| Poster (indoor, 6-ft view) | 3–6 feet | 3–6 in (75–150 mm) |
| Real-estate sign / trade-show banner | 6–15 feet | 7–18 in (180–450 mm) |
| Billboard / building wrap | 25+ feet | 30+ in (750+ mm) |
These are floors, not ceilings. Erring 15–25% larger costs you nothing and buys forgiveness for phones held at odd angles, glare, and old cameras.
Error correction: L, M, Q, H — and when each matters
QR codes carry redundant data so scanners can still read them when part of the image is damaged, obscured, or covered by a logo. Four levels exist:
- L (Low, 7% recovery) — smallest, densest pattern. Fine for on-screen use and clean small prints.
- M (Medium, 15% recovery) — the default here. Good balance for most print jobs.
- Q (Quartile, 25% recovery) — outdoor labels, stickers that might scuff, or the general "belt-and-braces" choice for print.
- H (High, 30% recovery) — the only level that safely tolerates a centered logo, colored overlay, or heavy weathering. Also the correct choice on shiny surfaces where glare can wipe out chunks of the image.
Higher error correction makes the QR denser (more, smaller modules) for the same content — which means it also needs to be printed bigger to stay scannable at the same distance. If you jump from M to H, add 15–20% to the minimum printed width to compensate.
Contrast, quiet zone, and colors that break scanning
The dark-on-light convention isn't decoration — it's what QR scanners are trained on. Reversing it (light modules on a dark background) fails on a significant fraction of budget cameras. Colored QRs work as long as the foreground is much darker than the background — think dark navy on cream, not sky blue on white. A rough rule: if you print the color pair in grayscale, the dark side should still look at least 60% darker than the light side.
The quiet zone — the blank margin around the code — is not optional whitespace. Scanners use it to lock onto the code's edges. Removing it or letting other content encroach kills scanning even when the code itself is perfect. Keep at least 4 modules of blank space on every side (the "Standard" option above). "Wide" is the right call on cluttered flyers.
Eight ways to actually use this
1. Business card back
Encode a link to your LinkedIn, portfolio, or a landing page. Print at ~1 inch on the back so it's the whole reason someone flips the card. Use Medium error correction, black on white, standard quiet zone. Downloading the SVG lets your card printer scale it to any physical dimension without fuzziness — always send print vendors the SVG, not the PNG.
2. Restaurant menu / QR-first ordering
Encode a link to your menu page (hosted on your own domain, not a third-party menu SaaS whose subscription can lapse). Table tents work at 1.5 inches; wall posters at 4+ inches. High error correction (Q or H) if the tent will get sauce splashed on it. Test the printed piece under the actual restaurant lighting — warm downlights change contrast in ways daylight doesn't.
3. WiFi password sticker
Encode as text using the WiFi format: WIFI:S:YourSSID;T:WPA;P:YourPassword;;. Phones with the QR scanner in their camera app will join the network on tap. Print at 1–1.5 inches for a fridge or wall sticker, quiet zone standard, Medium error correction. Guests scan once instead of typing a 22-character password.
4. Event ticket or check-in code
Encode the ticket ID or a check-in URL. Even a Version 2 QR (25 modules) is enough for a UUID. Print at 0.75–1 inch on a ticket, higher error correction so a folded or handled ticket still scans. If the URL is short enough, Low or Medium error correction keeps the modules chunkier and more forgiving.
5. Resume — link to portfolio or long-form work
Recruiters skimming a resume PDF on a phone will not thumb across for a long URL. A ~0.7-inch QR in the header, pointing to your portfolio, gets scanned. Keep it monochrome — colored QRs on a resume read as gimmicky.
6. Product label — batch or SKU linking
Encode a link to the product page, care instructions, or a batch-traceability record. Product labels live in bright store lighting with lots of glare, so print at least 0.8 inches with High error correction and a wide quiet zone. If the label material is glossy, add extra size (glare eats scan reliability).
7. Real-estate sign / trade-show booth
The single case where you almost always want it big. Scan distance is 6–15 feet, so the code needs to be 7 inches minimum — usually more like 12–18 inches. This is where the SVG download matters: rasterizing a 300-pixel PNG to 18 inches produces a blurry, unscannable mess. The SVG scales cleanly.
8. Wedding invite / RSVP
Encode a link to the RSVP page, registry, or a video message. This is one of the few places where custom colors are appropriate — but keep the foreground genuinely dark (deep burgundy, navy, forest) and the background genuinely light. Print at 0.8–1.2 inches so guests can hold the card at reading distance and still scan.
How to test a QR before you print 500 of them
- Scan the preview on your monitor with your phone. Sanity check: does the URL that pops up match what you typed?
- Print one at actual size on the actual paper stock. The paper texture and ink absorption matter — glossy magazine stock scans differently from matte cardstock.
- Scan under the lighting the final material will live in. Restaurant downlights, storefront sunlight, and event tent shade all wash out contrast in different ways.
- Scan from the maximum expected distance. If you're printing a 4-inch code for a 4-foot menu-board scan, don't test it at 6 inches on your desk.
- Try one budget Android phone and one older iPhone. New phones are forgiving. A code that only scans on flagships will fail with ~30% of your audience.
Common mistakes
- Made it too small. The single most common failure. When in doubt, make the QR 25% larger than you think.
- Reversed the colors. Light modules on a dark background trips a large chunk of cheap Android cameras.
- Placed a logo without raising error correction to H. Any center overlay eats real data — L or M can't survive it, H can.
- Cropped the quiet zone. "The margin looked wasteful" — and now scanners can't find the code's edges.
- Encoded a giant URL instead of a short one. The longer the encoded text, the denser the modules, the bigger the printed code needs to be. Shorten URLs before encoding if you can (with a redirect you own, on your own domain — not bit.ly, which can expire).
- Sent a PNG to the printer. Print vendors need vector for anything over about 2 inches. Download the SVG.
- Used a dynamic QR from a free-trial provider on printed material. The clock is ticking; when the trial ends, the print run is scrap.
Frequently asked questions
Will this QR code really never expire?
Yes. The image is a direct encoding of the URL you typed — there is no redirect server anywhere. The only way the QR would stop working is if the destination URL (yours) went offline. That is under your control, not ours.
Can I customize the colors?
Yes — set the foreground and background above. Keep contrast strong: dark modules on a light background scans reliably; the reverse fails on many cheaper cameras. Colored codes work as long as the color pair still reads as clearly dark-on-light when converted to grayscale.
Should I download SVG or PNG?
SVG whenever the code will be printed or resized. It scales to any size without losing sharpness. PNG is fine only for small on-screen uses at a fixed size (e.g. a webpage, email signature at ~200px). Print vendors always prefer SVG.
How do I add a logo in the center?
Generate the QR at High error correction (H — 30% recovery), download the SVG, and open it in any vector editor (Illustrator, Inkscape, Figma, or even an SVG-aware browser). Layer your logo in the middle at no more than ~20% of the code's width. Test the result on a real phone before printing — some logos still trip scanning even at H.
Is there a limit on how much data I can encode?
QR version scales up automatically here as data grows — up to Version 40, which encodes about 4,296 alphanumeric characters or 2,953 bytes. Practical answer: encode links and short text. Anything longer belongs on a web page, and the QR should link to that page.
Do you track scans or store what I generate?
Neither is possible. The QR is generated in your browser and the download is a local file — the text you type never leaves your device. Because the code doesn't route through us, we can't count scans even if we wanted to (nothing to count).
Can I use this commercially?
Yes. The generated image is yours to use for anything — personal or commercial — with no attribution required. QR code itself is an open standard (ISO/IEC 18004); nobody owns it.
Why is my colored QR not scanning as reliably?
Two most likely reasons: contrast is weaker than pure black on pure white, and you may have inverted the light/dark relationship (light modules on dark background). Fix by darkening the foreground, lightening the background, and increasing error correction to Q or H. Test on a budget Android before committing to a print run.
Does the QR work if my website domain changes?
No — the encoded URL is literal. If your destination URL changes and the QR is already printed, you have two options: (1) accept the code is dead and print new ones with the new URL, or (2) set up a permanent 301 redirect from the old URL to the new one on your own server. Option 2 is why owning your own domain matters — if your destination lives on a platform you don't control, a platform-side URL change bricks your printed code.