How to Make a Free QR Code That Never Expires

Updated June 2026 · OurWings Guides

You printed a QR code on a flyer, a business card, or a product label — and months later it stopped working. It's a surprisingly common problem, and it almost always comes down to one thing: the code was dynamic. The fix is to use a static QR code that encodes your data directly, so it can never be switched off.

Why some QR codes stop working

Many "free" QR generators don't actually put your link into the code. Instead, they create a short link on their server (something like qr.example.com/aB3x) and bury that inside the QR. When someone scans it, they hit the company's server first, which then redirects them to your real destination.

That redirect is the weak point. If the company ends your free trial, moves you to a paid plan, changes its pricing, or simply goes out of business, the redirect dies — and every code you ever printed dies with it. The pattern on your flyer still scans fine, but it now leads nowhere.

Static vs dynamic QR codes

A dynamic QR code stores a short redirect URL. The upside is you can edit the destination later and track scans. The downsides: it depends on someone else's server staying online forever, and editing or tracking is usually what triggers a paywall.

A static QR code stores your actual data — your URL, text, or contact details — directly in the black-and-white pattern. There's no middleman and no server to fail. As long as the printed code is readable, it works. The trade-off is that you can't change the destination after printing, so you point it at a stable address you control.

💡 Rule of thumb: for anything you print once and want to last — packaging, signage, business cards, stickers — use a static code pointed at a URL you own. You keep control of where it goes by controlling that page, not the QR.

Make a permanent QR code in your browser

You don't need an account or a paid plan to make a code that lasts. OurWings QR is a free generator that runs 100% in your browser. It builds a static QR code — your data is encoded directly into the pattern — so there's no redirect, no server dependency, and nothing that can expire. Nothing is uploaded, either: the code is drawn on your own device.

▦ OurWings QR — make a permanent QR code → Free, no sign-up, nothing uploaded. Static codes that never expire. Runs 100% in your browser.

Step by step

  1. Open OurWings QR at ourwings.app/qr. It loads instantly and works without an account.
  2. Enter your link or text. Point it at a stable URL you control (your own site or page) so you stay in charge of the destination.
  3. Pick a size. Larger codes are easier to scan from a distance or when printed small on a label.
  4. Choose your colors. Set the foreground and background to match your brand — just keep strong contrast so scanners read it cleanly.
  5. Download the PNG. The image is generated on your device and is yours to print or share anywhere.

Because the data lives inside the code itself, that PNG will keep working years from now — no subscription, no maintenance, no expiry.

How to spot a code that might expire

Frequently asked questions

Do free QR codes expire?

Many do. "Free" generators often make dynamic codes that redirect through their server — when that link is switched off or the trial ends, the code stops working. Static codes don't expire.

How do I make a QR code that never expires?

Use a generator that makes static codes, where your data is encoded directly into the pattern. OurWings QR does this in your browser, with no server in the middle.

Do I need an account?

No. OurWings QR needs no sign-up, runs entirely in your browser, uploads nothing, and is free with no limits.

Can I customize the colors?

Yes — set the size plus the foreground and background colors, then download a PNG. Keep good contrast so it scans reliably.

▦ Try it now → OurWings QR Make a static QR code that never expires. Free, private, no sign-up.

More free, private browser tools: QuickShrink image compressor · PDF merge/split · unit converter · e-book reader.