If you have ever searched for a free QR code that does not expire, you have probably run into conflicting information. Some websites claim QR codes last forever. Others warn that free QR codes come with scan limits or expiration dates. So which is it?
The answer is simple: it depends on whether the QR code is static or dynamic. A static QR code encodes data directly into its black-and-white pattern. No server is involved, no account is required, and the code works indefinitely. A dynamic QR code, on the other hand, routes through a redirect server that can be turned off at any time. Understanding this distinction is the key to getting a truly permanent QR code for free.
This guide explains exactly how static QR codes work under the hood, why some generators trick you with expiring codes, and how to create a free QR code that does not expire in under 60 seconds using our free QR code generator.
Do QR Codes Expire?
The short answer: static QR codes do not expire. Dynamic QR codes can.
A QR code is fundamentally just a way of encoding text into a visual pattern. The QR code specification (ISO/IEC 18004) defines how data is converted into a grid of dark and light modules. There is no timestamp, no expiration flag, and no scan counter built into the standard. The pattern is permanent by design.
So when someone says "my QR code stopped working," what actually happened is one of two things:
- The QR code was dynamic, meaning it pointed to a redirect server that was shut down, expired, or paywalled.
- The QR code was static and still works perfectly, but the destination it points to (a URL, for example) no longer exists. The code scans fine -- the website behind it is what broke.
If you create a static QR code today, it will produce the exact same result in 2030, 2040, or 2080. The data is part of the image. Nothing external can switch it off. This is why a free QR code that does not expire is not a special product or a premium feature -- it is simply what a static QR code is.
How Static QR Codes Work (The Technical Explanation)
To understand why static QR codes never expire, it helps to know what actually happens inside that square pattern. Here is a simplified breakdown of the encoding process.
Step 1: Data encoding
When you enter a URL, a WiFi password, or a contact card into a QR code generator, the tool converts your text into a binary data stream. Different character sets (numeric, alphanumeric, byte, kanji) use different encoding modes, each optimized for efficiency. A URL like https://example.com gets converted into a specific sequence of ones and zeros.
Step 2: Error correction
The binary data is then processed through a Reed-Solomon error correction algorithm. This adds redundant data to the stream so that the QR code can still be read even if part of it is damaged. Depending on the error correction level you choose (Low, Medium, Quartile, or High), between 7% and 30% of the code can be destroyed and it will still scan correctly.
Step 3: Module placement
The final binary stream (your data plus the error correction data) is placed into a grid of modules -- the small dark and light squares you see in a QR code. The grid also contains fixed patterns for alignment, timing, and version information that help scanners orient and decode the image.
Step 4: Scanning
When a phone camera scans the QR code, it reverses the entire process: it detects the pattern, reads the modules, strips out the error correction data, and decodes the binary stream back into your original text. This entire process happens locally on the device. No internet connection is needed to decode the QR code itself.
The critical takeaway is this: your data lives inside the image. There is no server call, no API request, no database lookup. The phone extracts the information directly from the pattern of dark and light squares. This is why static QR codes have no expiration mechanism -- there is nothing to expire. The data is physically encoded in the image, the same way words are physically printed on a page.
Why Some QR Codes DO Expire
If static QR codes are permanent, why do so many people report that their QR codes stopped working? The answer lies in how dynamic QR codes operate and how some generators use them to lock you into a paid subscription.
The dynamic QR code model
A dynamic QR code does not encode your actual content. Instead, it encodes a short redirect URL -- something like qr.service.com/abc123. When scanned, the phone opens this URL, and the service's server redirects the user to your real destination. This architecture enables two valuable features: you can change the destination without reprinting the code, and the server can log every scan for analytics.
However, this architecture also creates a dependency. Your QR code only works as long as that redirect server is online and your account is active.
How the bait-and-switch works
Many QR code generators advertise "free QR codes" but actually generate dynamic codes behind the scenes. They route your QR code through their server and give you the image for free. Everything works fine for 14 or 30 days. Then the trial ends, the redirect is disabled, and you see a message asking you to upgrade to a paid plan.
By this point, you may have already printed the QR code on business cards, flyers, menus, or product packaging. You are effectively locked in: either pay the subscription or reprint everything with a new code. This is a deliberate business strategy, not a technical limitation of QR codes.
Three reasons a QR code stops working
- Subscription cancellation. You stop paying for the dynamic QR code service, and the provider disables your redirect.
- Service shutdown. The QR code company goes out of business or pivots to a different product. Every code created through them becomes a dead link overnight.
- Scan limits. Some providers impose a maximum number of scans on their free tier. After 50 or 100 scans, the redirect is paywalled.
None of these scenarios apply to static QR codes. A static code has no redirect, no server, and no subscription. It is a self-contained image that works forever.
How to Create a Free QR Code That Does Not Expire
Creating a permanent QR code with no expiration takes less than a minute. Here is how to do it using our free QR code generator.
- Open the generator. Go to our homepage or directly to the type-specific page for the content you need. No account creation or signup required.
- Select a QR code type. Choose from 10 types: URL, WiFi, vCard, text, email, phone, SMS, WhatsApp, UPI, or event.
- Enter your content. Type in the URL, WiFi credentials, contact details, or whatever data you want to encode. Double-check for typos -- static QR codes cannot be edited after creation.
- Customize the appearance. Optionally choose a foreground color and error correction level. For codes that will be printed and used long-term, Quartile or High error correction is recommended.
- Download your QR code. Click the download button and choose PNG (for digital use) or SVG (for print). Your QR code is ready to use immediately.
That is the entire process. The QR code you just downloaded is a free QR code that does not expire. It will work with unlimited scans, forever, regardless of whether you ever visit our site again. The generation happens entirely in your browser -- your data never touches our servers.
Tip: If you plan to print the QR code on physical materials like business cards, posters, or product labels, always download the SVG version. SVG is a vector format that can be scaled to any size without losing quality.
Static vs Dynamic QR Codes: Full Comparison
The choice between static and dynamic comes down to your specific needs. Here is a side-by-side comparison of every important factor.
| Feature | Static QR Code | Dynamic QR Code |
|---|---|---|
| QR code lifetime | Permanent -- never expires | Depends on service/subscription |
| Cost | Free, no strings attached | Typically requires paid plan |
| Where data is stored | Encoded in the QR pattern itself | On a redirect server |
| Editable after creation | No -- content is permanent | Yes -- destination can be changed |
| Scan tracking | Not available | Yes -- location, device, time data |
| Scan limit | Unlimited | Varies by plan (some cap free tiers) |
| Server dependency | None -- fully self-contained | Full dependency on redirect server |
| Account required | No | Yes |
| Privacy | Data stays in your browser | Data passes through third-party server |
| Best for | Permanent use, personal projects, print materials, WiFi sharing | Marketing campaigns, A/B testing, analytics, short-term promotions |
For most personal and small business use cases -- sharing a website link, providing WiFi access to guests, handing out digital business cards -- a static QR code is the right choice. It is a free QR code that does not expire, requires no maintenance, and works independently of any service.
For marketing teams that need scan analytics, geographic insights, device breakdowns, and the ability to update the destination URL after printing, ElkQR offers dynamic QR codes with a full management dashboard. Dynamic codes serve a genuinely different purpose -- just be sure you understand the trade-off.
When You Might Want an Expiring QR Code
Permanent QR codes are not always the goal. There are legitimate scenarios where a QR code that can be deactivated or updated is exactly what you need.
Time-limited promotions
If you are running a sale that ends on a specific date, a dynamic QR code lets you redirect scanners to a "sale ended" page once the promotion is over, rather than leaving them on a dead page. You can even redirect to the next promotion without printing a new code.
Changing content
Restaurants update their menus seasonally. Real estate agents swap property listings. Event organizers change venue details. In all of these cases, being able to update the QR code destination without reprinting is a significant operational advantage.
Scan analytics
If you need to know how many people scanned your QR code, where they were located, what device they used, and what time they scanned, dynamic QR codes are the only option. This data is invaluable for measuring the ROI of physical marketing materials.
Access control
Some businesses use dynamic QR codes for temporary access -- event tickets, limited-time downloads, or one-time-use coupons. The ability to deactivate the code after use is a feature, not a limitation.
For these use cases, a service like ElkQR provides dynamic QR codes with real-time analytics, branded short links, and a dashboard for managing all your codes in one place. But if you do not need these features, there is no reason to pay for a dynamic code. A static code does the job for free, permanently.
Best Practices for Permanent QR Codes
A static QR code never expires digitally, but the physical medium it is printed on can degrade over time. Follow these practices to make sure your permanent QR code stays scannable for years.
Choose the right format for the medium
Download your QR code as SVG for anything that will be printed. SVG is a vector format that scales to any size -- from a small business card to a large banner -- without losing sharpness. Use PNG for digital applications like websites, email signatures, and social media posts. For a detailed walkthrough of the creation process, see our guide on how to create a QR code.
Use high error correction for physical materials
Error correction allows a QR code to remain scannable even if part of it is scratched, faded, or covered. For QR codes that will be exposed to wear -- outdoor signage, product labels, floor decals -- set the error correction to Quartile (25%) or High (30%). This adds redundancy to the code so it survives real-world damage.
Maintain contrast and quiet zone
A dark QR code on a light background provides the best scan reliability. Avoid light foreground colors like yellow, pastel tones, or light gray. Always leave a white quiet zone of at least four modules around the code -- this border helps scanners detect where the pattern begins and ends.
Print on durable materials
For outdoor or long-term installations, choose weather-resistant materials. Laminated paper, vinyl stickers, aluminum plates, and acrylic panels all hold up far better than plain paper. If the QR code will be on a surface exposed to sunlight, UV-resistant printing prevents fading over time.
Test before you print
Always scan your QR code on at least two devices (one iPhone, one Android) before sending it to the printer. Test at the actual print size and from the expected scanning distance. A few seconds of testing prevents the headache of reprinting thousands of copies with a broken or unreadable code.
Keep your destination alive
The most common reason a static QR code appears to "stop working" is that the URL it points to has been taken down or changed. If you create a URL QR code, make sure the destination page remains active for as long as the QR code is in circulation. Use a permalink or a URL you control rather than a temporary landing page.
Double-check your data before generating
Unlike dynamic codes, a static QR code cannot be edited after creation. A typo in a WiFi password, a missing letter in a URL, or a wrong phone number in a vCard means you will need to generate and reprint the code. Take an extra moment to verify every field before downloading.
Frequently Asked Questions
Get a Permanent QR Code for Free
A free QR code that does not expire is not a marketing gimmick or a premium feature locked behind a paywall. It is simply how static QR codes work. The data is encoded in the pattern, no server is involved, and the code works as long as the image exists. No account, no subscription, no expiration date, no scan limit.
If you need a permanent QR code right now, head to our free QR code generator and create one in seconds. Choose from 10 QR code types -- including URL, WiFi, and vCard -- customize the color and error correction level, and download in PNG or SVG. It is completely free, runs entirely in your browser, and your data never touches a server.
For businesses that need scan tracking, geographic analytics, device insights, and the ability to update QR code destinations after printing, ElkQR offers dynamic QR codes with a full management dashboard. But for a QR code that simply works, forever, with no strings attached, a static code is the way to go.