Secure QR Code Generator - Static Codes That Never Expire

Create custom, secure QR codes directly in your browser. Type a link or message, customize size and colours, and download a high-res PNG. The destination is encoded straight into the code with zero tracking, no redirects, and no server uploads.

Runs on your device · 0 uploads
  1. 1
    Say what you wantType it in — there is nothing to upload
  2. 2
    Adjust the lookThe preview updates as you type
  3. 3
    Download itPick the size you need

Settings

Each one says what it does. The code updates the moment you change one.
Bigger is safer for anything printed; screen-only can stay small.
Pairs only. Two free colour pickers is how people end up with a code no phone will read.
More repair data survives a scuff or a crease, at the cost of a busier code.
Live previewnot run yet
Nothing here yet

Type below and the code appears here. Nothing to press.

Type a link or message to get started — it never leaves this tab.

How to use it

How to create a QR code

  1. Enter the data. Paste a full URL including https://, or type plain text. Other useful payloads: mailto:you@example.com, tel:+15551234567, or a Wi-Fi string in the form WIFI:T:WPA;S:NetworkName;P:Password;;
  2. Choose a size. 128px is fine for on-screen use. Pick 512px for anything you intend to print, then scale it in your layout software rather than enlarging a small PNG.
  3. Set the colours. Keep the foreground dark and the background light. Inverted or low-contrast codes fail on a lot of scanners.
  4. Generate and download. Save the PNG, then scan it with an actual phone before you commit it to print.

Printing tips: keep a clear margin of at least four squares around the code (the downloaded PNG already includes one, so do not crop it), do not place it on a busy photo background, and aim for a printed size of 2cm or larger for close scanning. Shorter URLs produce a code with fewer, larger squares, which scans more reliably at small sizes.

For a fuller walkthrough see the guide on how to create a QR code.

About this tool

Static codes, and why that matters

Most free QR generators hand you a dynamic code. The pattern does not contain your link at all, it contains a short URL on the provider's own domain, which redirects to your destination when scanned. That buys you two things: you can change where the code points after printing it, and you get scan analytics. It also means the provider sits permanently between your code and its destination.

That is genuinely useful when you need it. It also means the code depends on that provider staying online and on your plan staying active, and that every scan passes through their server, where the time, approximate location and device of each scanner is logged.

This tool makes static codes. Your URL or text is encoded directly into the pattern of squares, so the code is self-contained and permanent. There is no middleman, nothing to expire, no scan log, and nothing that can be revoked. For anything you are printing once and expecting to still work in five years, business cards, packaging, signage, equipment labels, a static code is the durable choice.

Generation runs entirely in your browser, so the text you encode, which may be a private document link, a Wi-Fi password or an internal URL, is never transmitted. Codes are yours for personal or commercial use, with no watermark, no account and no cap on how many you make.

Common questions

Frequently asked questions

Do these QR codes expire?

No. These are static codes, so the destination is baked into the pattern itself. There is no redirect service that could shut down. The code works for as long as the destination does.

What is the difference between static and dynamic?

A static code encodes your URL directly, so it is permanent and untracked. A dynamic code encodes a short link on the provider's domain that redirects, which makes it editable and trackable but tied to that provider. This tool makes static codes.

Can anyone see what I encode?

No. The code is drawn in your browser and the text never leaves it. Because the code is static, there is also no scan tracking afterwards, nobody gets a log of who scanned it.

How do I make a Wi-Fi QR code?

Type the payload directly: WIFI:T:WPA;S:NetworkName;P:Password;; Phone cameras recognise this and offer to join. Be aware that anyone who scans it gets the password in plain text.

My code stopped scanning after I changed the colours.

Scanners need contrast between foreground and background. Colours too close in brightness, or an inverted light-on-dark code, will fail on many readers. Keep it dark on light.

Can I use these commercially?

Yes. No watermark, no attribution, no account, and no cap on how many you generate. The QR code specification itself is patent-free and standardised as ISO/IEC 18004.

Check for yourself that nothing is uploaded

🔎 Verify it yourself: nothing uploads

Don’t take our word for it. Open your browser’s DevTools (F12 → Network tab), then run this tool on any image. You’ll see no upload request at all — your file never leaves this tab. You can even turn off Wi‑Fi once the page has loaded and keep working. Every tool on this site works the same way — all processing happens on your device.

Related tools