QR code generator that never expires
Create custom QR codes for any text or URL.
All QR code use cases
Purpose-built generators with the right payload format for each use case.
This generates static QR codes in your browser with no account, no expiry and no tracking. Static means the data is encoded directly into the pattern rather than pointing at a redirect service — so the code keeps working indefinitely, nobody logs who scans it, and there is no subscription that can lapse and take your printed codes with it. That is the material difference from most commercial QR generators. The trade-off is honest: a static code cannot be re-pointed later, because changing the destination means changing the pattern. Capacity depends on error-correction level and runs to roughly 2,900 alphanumeric characters at the lowest setting, though URLs of 50 to 100 characters keep the pattern sparse and easy to scan. Scan distance is about ten times the printed width, so a code read from three metres needs to be around 30 cm across.
About the QR Code Generator
Generate static QR codes that never expire and are never tracked. The data is encoded directly into the pattern rather than pointing at a redirect service, so there is no account to lapse and no company between your code and the person scanning it — print it once and it keeps working.
How to use the QR Code Generator
- 01Type or paste your text, URL, or message into the input field.
- 02Adjust the size, foreground color, and background color to match your brand.
- 03Watch the live preview update instantly as you customize.
- 04Click “Download PNG” to save your QR code, ready to print or share.
Why use our QR Code Generator
- 01
Live preview
See your QR code render in real time as you type and customize.
- 02
Custom colors
Match your brand with full control over foreground and background colors.
- 03
High-resolution PNG
Export crisp images suitable for both print and digital use.
- 04
100% private
Everything is generated locally — no data is uploaded anywhere.
What is the difference between a static and a dynamic QR code?
A static QR encodes your actual content — a URL, a phone number, a WiFi credential — into the module pattern itself. Scanning it reads that content directly with no intermediary. A dynamic QR encodes a short URL belonging to the generator's service, which redirects to your real destination. Dynamic codes can be edited after printing and can count scans, which is genuinely useful, and they carry two costs that are frequently not made obvious at signup. The first is dependency: if the service shuts down, changes its terms or you stop paying, every printed code becomes dead, and there is no way to fix physical material already in the world. The second is that every scan passes through their infrastructure, so scan counts, timestamps, approximate locations and device types are collected by a third party. Static codes have neither property. You cannot edit them and you get no analytics — but they work forever and nobody is watching. If you want both, encode a URL on a domain you control and put the redirect there.
Error correction, size and making a code that actually scans
QR codes carry redundant data so they still read when damaged, and the standard defines four levels: L recovers about 7 percent of the code, M about 15, Q about 25 and H about 30. Higher correction means more modules for the same content, so the code becomes denser and needs to be printed larger. The useful rule is that scan distance is roughly ten times the code's width — a 5 cm code reads comfortably at about half a metre, so signage meant to be scanned from three metres needs a code around 30 cm across. Under-sizing is the most common printing error by a wide margin, because a code looks generous on a screen proof and tiny on a wall. The second most common error is cropping the quiet zone, the blank margin around the pattern, which the specification requires to be at least four modules wide. Designers routinely trim it to tighten a layout, and the scanner then cannot locate the code's boundary.
Colour, contrast and logos without breaking the code
QR codes can be styled, within limits that are worth understanding rather than discovering by reprinting. Scanners look for dark modules on a light background, so the essential requirement is a high contrast ratio between the two — dark on light works, light on dark is read by many but not all scanners, and mid-tone on mid-tone fails. Coloured modules are fine provided the colour is genuinely dark against a genuinely light field; a pastel code on a white card is a common and avoidable failure. Placing a logo in the centre works because error correction can reconstruct the covered modules, but only within the correction budget: keep the logo under about 20 percent of the code's area and raise the correction level to Q or H to compensate. The combination that breaks scanning is doing several of these at once — low contrast plus a large logo plus a small print size leaves no margin anywhere. Whatever styling you apply, test the printed proof with more than one phone before committing to a run.
Error correction levels
| Level | Recovers | Use when |
|---|---|---|
| L (Low) | ~7% | Clean digital display, short payload |
| M (Medium) | ~15% | General print — the usual default |
| Q (Quartile) | ~25% | A logo overlay, or a handled surface |
| H (High) | ~30% | Industrial, outdoor, or heavy styling |
Higher correction adds modules, so the code gets denser and needs a larger print size for the same payload.
Frequently asked questions
Do the QR codes I generate expire?
Never. These are static codes with the data encoded directly into the pattern, so there is no redirect, no account and nothing that can lapse. As long as the destination is valid, the code works.
Are the codes free to use commercially?
Yes. The codes you create are entirely yours for personal or commercial use, with no attribution and no licence conditions.
Can I track how many people scan the code?
Not with a static code — there is no server in the middle to count. If you need analytics, encode a URL on your own domain with UTM parameters and read the scans in your own analytics.
Can I edit the destination after printing?
Not directly. Point the QR at a redirect URL on a domain you control, then change the redirect target on your server whenever you need to.
How large should I print it?
Scan distance is roughly ten times the code's width. A 5 cm code works at half a metre; signage read from three metres needs around 30 cm.
Can I put my logo in the middle?
Yes, if it covers less than about 20% of the area and you raise the error correction to Q or H so the covered modules can be reconstructed.
Can I use brand colours?
Yes, provided contrast stays high — genuinely dark modules on a genuinely light background. Pastel codes on white are a common failure.
Can I generate QR codes for WiFi, email or phone numbers?
Yes. Paste any text the QR standard supports, or use the dedicated pages for WiFi, vCard, email, SMS, phone, WhatsApp, location and calendar events.
Why is my printed code not scanning?
The three usual causes are printing too small, cropping the quiet zone — the blank margin, which must be at least four modules wide — and insufficient contrast.
Last updated
QR symbology, error correction levels and quiet-zone requirements per ISO/IEC 18004. Generation via the qrcode JavaScript library, run locally in the browser.