QR Code Generator
Type a link or any text and get a static QR code — generated in this tab. PNG and SVG downloads, no account, no watermark, no expiry.
URLs, text, Wi-Fi strings & more · static codes that never expire · no upload · no account · no watermark
Free QR Code Generator: Static Codes That Never Expire
The short answer: The tool above makes static QR codes, and "static" is the part that matters. It costs nothing, needs no account, and it cannot expire — because the pattern itself is the data. Your link, drawn as squares. No server stores it, no redirect forwards it, and nothing can be switched off later. If a code you made somewhere else once stopped working, that was the other kind. The rest of this page explains the difference, how to spot it in twenty seconds, and how to make sure the code you print still scans once it is ink on paper.
Do QR codes expire? Only one kind can
Two designs are in circulation, and only one of them can be turned off:
- Static codes encode your content directly into the pattern. A phone camera reads your URL or text straight from the squares. That is what this page makes.
- Dynamic codes encode a short link that points at an operating company's server. That server forwards each scan to your real destination — which is how those tools offer editable destinations, scan statistics, and redirects. The trade is structural: the company sits between you and everything you ever print.
A dynamic code keeps working only while its server stays in service, funded, and willing. When the free plan ends, the trial lapses, the company shuts down, or the provider deactivates your link under its content rules, every printed copy dies — even if your destination never moved.
A static code has no such layer. Its only two failure modes are the destination (the page you point at moves or disappears) and the physical world (faded ink, tiny print, weak contrast).
One more thing that surprises people: QR patterns cannot "expire" on a timer at all. An expiry date is a feature that exists only on the hosted side — the provider schedules its redirect to stop. If a generator offers to "set an expiration date", that tells you plainly there is a server in the middle.
How to tell which kind a generator gave you
One phone, twenty seconds:
- Scan the code.
- Before you tap anything, read what the scan decoded — phone cameras display the raw address or text.
- If it reads exactly what you typed (your link, your text), it is static. If it shows a short address on a domain that is not yours, or you land on an intermediate "redirecting" page, it is dynamic — and it now depends on that company staying alive and keeping its side of the deal.
There are softer tells, useful when you are choosing a tool rather than auditing one: if a tool demands an account before it will give you the file, or mentions a trial, read it as a strong hint that the code will be served through their systems. That is how hosted codes work — the server has to live somewhere, and somebody has to keep paying for it.
None of this is a verdict against hosted codes. Analytics and editability genuinely need that server, and for a campaign that changes monthly, renting one can be the right call. The point is to choose with your eyes open, because a print run outlives a lot of business plans.
And if you want editability without renting it: when you control your own domain, put a redirect you own at an address you control, and encode that address. You can repoint it whenever you want, and no third company can turn it off.
What you can put in a QR code
A QR code is a container for text, so anything short and text-shaped fits:
- A website link — the most common use. Prefer
https://addresses that work on a phone. - Plain text: addresses, order numbers, short messages.
- Wi-Fi login details — fixed format, explained below.
- Contact details, an email draft, an SMS opener, a calendar event.
How much fits? The QR standard's largest symbol holds at most 2,953 bytes at the lightest error correction — and less as you raise the error correction for durability:
| Error correction | Max, byte mode |
|---|---|
| L | 2,953 |
| M | 2,331 |
| Q | 1,663 |
| H | 1,273 |
The limit is measured in bytes, so non-English text uses several bytes per character (a Chinese character takes three). The generator above enforces exactly these limits, so you can test it with a long paste. The practical takeaway: shorter is better. Every extra character becomes more modules, and more modules at a fixed print size means smaller squares — which are harder for cameras. A short link always scans more comfortably than a long one.
Wi-Fi codes: one line of text, one honest warning
You do not need a specialty tool. A Wi-Fi QR code is plain text in a fixed format:
WIFI:T:WPA;S:YourNetwork;P:YourPassword;;
T is the security type (WPA for modern networks, WEP for old ones, nopass for open ones), S is the network name, P is the password, and the double semicolon ends the record. Paste that into the box above — or any generator that accepts free text — and a phone that scans it can join in one tap.
The warning: the password sits in the pattern in readable form. Treat the printed code exactly like a password written on the wall, because that is what it is. It is ideal for a guest network or an event, and a poor idea for the network that guards your work machines. When the password changes, the code must be regenerated and reprinted.
Error correction, in plain words
QR codes carry their own repair mechanism. The four levels (L, M, Q, H) describe how much of the pattern can be damaged, covered, or missing while the code still reads:
- L recovers about 7% of the pattern
- M about 15%
- Q about 25%
- H about 30%
Higher robustness is not free: more repair data means more modules, which makes the pattern denser and leaves less room for your actual text (see the table above). The everyday picks: M for normal use, H when the code lives somewhere hostile — a workshop surface, packaging, outdoors, or tucked next to dark graphics. This page defaults to M, and you can switch.
Before you print: margin, contrast, size, and a 30-second test
Four things decide whether the code that looks perfect on screen survives as ink:
- Keep the quiet zone. The standard asks for at least four modules (little squares) of empty space on every side. Generators add it; cropping removes it. When you resize or re-lay-out the image, take the white border along, and never print the code tight against other dark graphics.
- Use dark-on-light, always. Inverted codes (light pattern on a dark background) are a known source of scan failures; dark-on-light is the convention every scanner expects, so that is what this tool produces. Low-contrast pairs such as grey on white or navy on black scan badly too. If you want brand colors, keep a wide brightness gap, and test.
- Size it for the distance. A serviceable rule of thumb: scanning distance runs about ten times the code's width, so a code read from three meters away wants to be roughly thirty centimeters across. For a close-range, hand-held scan, a common print minimum is about 2 × 2 cm. When unsure, go bigger.
- Run the 30-second test. Scan the code on screen once to confirm the destination. Then check it at the final size, from the distance people will actually stand, in the light where it will actually live. If you have a second phone, scan with that one too — cameras and scanner apps differ. Only then print the full run.
A code that passes those four checks is a code that works.
Why this page can work offline
Everything above the article is JavaScript doing math in your own tab. Nothing is uploaded: your link never leaves the device, there is no account, no queue, and no watermark. You can load this page, disconnect from the internet, and keep generating codes — the same test we recommend for any tool you hand something sensitive to. (Step-by-step version: free online tools with no upload.)
The same architecture explains what is missing here: no scan analytics, no "edit the destination after printing", no upgrade button. Those features are not properties of the QR format. They exist only when every scan passes through somebody's server. This page has no server in the path, which is exactly why nothing here can expire, run out, or start billing you.
Quick answers
Is it really free? Do I need an account? Free, no account, no sign-up, no watermark, and no download limit. The code is generated on your device.
Do these codes expire? Can they be deactivated? Static codes have no expiry mechanism and nothing to deactivate. They work as long as the destination address works.
Can I change the link after printing? Not on a static code — that is the trade. If you need that ability, see the section above about running a redirect you control, or plan to reprint.
Is there a scan limit? No. A scan goes from the phone straight to your destination; nothing counts it, so nothing can limit it.
Can I use the codes commercially? Yes. These are plain standard QR codes with no watermark — print them, ship them, put them on packaging.
PNG or SVG — which download? PNG for screens, chat, and documents (pick a size close to where it will appear). SVG for print: it is vector, so it stays sharp at any size. For small prints on rough paper, pair SVG with error correction H.