Static QR code generator with no expiration
A QR code only expires if something stands between it and your data. Remove that, and nothing is left to expire.
- Never expires
- No sign-up, no watermark
- Vector PDF & SVG with your logo
- Runs in your browser
Fill in the form and your code appears here.
- A decoder in your browser read this code back and got exactly your data. Scan one printed copy with your phone before a large print run.
Your data and logo stay on this device. Nothing is uploaded.
Colors and shape
Ready-made styles
Color presets
Pattern
Corners
Gradient
Logo
A logo hides part of the code, so error correction is raised and the size is limited to what the code can safely repair.
Error correction
A phone can still read a code that is partly damaged: scratched, dirty or covered by a logo. This level sets how much damage it can recover from. A higher level gives more reserve, but the code gets denser, with smaller squares, and holds less data.
Most people should leave Automatic: it picks M, or H with a logo, and lowers the level if the data does not fit. Choose Q or H for codes outdoors or on packaging that can get damaged, and L or M for long text or very small print. With a logo the level is never below Q.
Try to break it
The code is printed. Now pick what happens next.
Dynamic code
Camera → their server → your page
Opens your page
Everything works while the service runs and the plan is active.
Direct code, made here
Camera → your page
Opens your page
The phone reads your link straight from the printed squares.
Dynamic code
Camera → their server → your page
May stop working
It depends on the provider’s terms. Some pause the redirect until you pay again.
Direct code, made here
Camera → your page
Opens your page
There is no plan behind this code, so nothing can lapse.
Dynamic code
Camera → their server → your page
Stops working
Every printed code points at a server that is gone.
Direct code, made here
Camera → your page
Opens your page
Even if this website disappears too. The code never needed it.
Dynamic code
Camera → their server → your page
Fails until you redirect it
You can send the printed code to a new address, if your plan is active.
Direct code, made here
Camera → your page
Fails too
The honest limit: a link only works while its page exists. Keep the address alive or print a new code.
Which one do you need?
| Direct code | Dynamic code | |
|---|---|---|
| Cost over the years | Free | Usually a subscription |
| If the QR company closes | Keeps working | Stops working |
| Who sees your scans | Nobody | The provider |
| Address people see before opening | Yours | Usually the provider’s |
| Wi-Fi and contact details without internet | Yes | Usually no |
| Change the destination after printing | Only through your own domain | Yes |
| Scan statistics for each code | No | Yes |
| Best for | Menus, plaques, packaging, business cards, Wi-Fi | Ad campaigns you measure, links that change often |
“But what if my link changes?”
Print an address on your own domain, and change where it leads whenever you like. You can still edit after printing, with no QR subscription. It takes a website of your own.
- Printed code → example.com/menu
- Now it leads to → winter menu
- You change it → spring menu
Why QR codes stop working
Dynamic codes hold a short address on the provider’s server, which then forwards the visitor to your page. That lets the provider offer editing and scan statistics, and it also means the code depends on that provider. If a free trial ends, a payment lapses or the company closes, the redirect can stop while the code is already printed on your menus and flyers.
What a static code changes
A static, or direct, code stores the destination inside its pattern. The phone reads it and goes straight there. Every code from this site works this way, and we offer no dynamic codes at all, because they would break the promise.
- No account or subscription behind the code
- No limit on scans, and no one counting them
- Keeps working even if this site disappears
What a static code cannot do
It cannot be edited after printing and it gives no scan statistics. If you may need to change the destination, point the code at a page on your own domain that you control, and change that page instead. You keep the flexibility without depending on a QR provider.
Questions
Do QR codes expire?
A static code cannot expire, because it needs no service to work. A dynamic code can stop working when its provider’s plan ends or the provider closes.
How can I tell if an existing code is dynamic?
Scan it and look at the address your phone shows before you open it. If the address belongs to a QR service or a link shortener rather than to you, the code depends on that service.
Will this QR code ever expire?
No. There is nothing that can expire: the code contains your data itself and works without any server. It keeps working as long as it can be scanned and, for a link, as long as that website exists.
Is it really free? Are there limits on scans?
Yes, it is free with no account. Scans are unlimited because nobody counts them: a scan happens entirely between the code and the phone. The site is paid for by advertising.
Do you see my data or logo?
No. The code is created in your browser and nothing is uploaded. You can load the page, go offline, and it keeps working.
Will it scan on every phone?
Every code is read back by a decoder in your browser before download, and you get a warning if that fails. That is a software check, so scan one printed copy with your own phone before a large print run.