The Sign Lasts Ten Years. The Subscription Renews Monthly.
by KoloQR TeamIndustry

A dynamic QR code does not encode your address. It encodes the provider's, and the provider keeps that address resolving for as long as you keep paying - which means the printed pattern has a service life measured in years and a dependency renewed in monthly instalments. That mismatch is the whole cost, and it is not the monthly fee. It is that you cannot recall a printed object, cannot move a code to another provider once the pattern is set, and cannot make a lapsed redirect fail in a way a customer understands. There is a version of a dynamic code that survives all three, and it costs about the price of a domain.
Key Points
- A dynamic QR code encodes the provider's hostname, not yours. The subscription does not buy editability - editability is a consequence. What the subscription buys is the continued operation of a hostname that is printed on your material and cannot be changed there.
- The cost to compare is not the monthly fee against zero. It is the fee multiplied by the service life of the printed object. A $9-a-month plan behind a shopfront sign that stays up for six years is $648 of redirect; a $49-a-month plan over the same six years is $3,528.
- Google retired its own URL shortener. Its developers blog stated that links in the form https://goo.gl/* "will no longer return a response after August 25th, 2025", later narrowing that to links which had shown no activity in late 2024. Solvency was never the risk in that case; a change of strategy was.
- The only thing that makes a dynamic code portable between providers is a domain you own, because the pattern contains a hostname and nothing else about the code can be edited after printing. This is also why a custom domain is priced as a premium add-on on most platforms.
- A static code pointed at a short path on your own domain gives you the editable destination without the subscription, and it is the arrangement that survives changing tools. Use a 302 rather than a 301 for a destination you intend to change: RFC 9110 section 15.4.2 states that "a 301 response is heuristically cacheable", and section 15.4.3 makes no such statement about a 302.
A Dynamic QR Code Prints a Hostname You Do Not Own
A dynamic QR code is a code that encodes a short link belonging to the provider, which redirects to wherever you currently point it. A static QR code is a code whose destination is stored in the pattern itself, so no server sits between the scan and the page. Everything that follows comes from that one structural difference, and none of it comes from the price.
The pattern of a QR code is fixed the moment it is exported, and doubly fixed the moment it is printed. What is inside that pattern, in the dynamic case, is a URL on the provider's domain - a hostname, a slash, and five or six characters. The destination behind it is editable. The hostname in front of it is not editable by anyone, including the provider, because it is ink.
So a subscription to a dynamic QR platform is not a subscription to a feature. It is a subscription to the continued operation of one hostname, and that hostname is now a component of your printed material in the same way the paper is. The difference is that nobody sends you an invoice to keep the paper working.
This is worth stating plainly because the industry's own framing hides it. Pricing pages compare code counts, scan allowances and analytics depth - all of which are real features, and none of which is the thing being bought. The thing being bought is that a name keeps resolving for as long as the object it is printed on remains in use.
The honest version of the trade is short: a dynamic code moves the destination out of the pattern and into an account, and an account is a thing that can lapse, be deleted, change hands or be retired. A static code has no account, which removes that failure mode and removes editability along with it. Both are real losses; which one costs more depends entirely on what the code is printed on.
Google Retired Its Own Shortener, and Every Printed Link Inherited That Decision
The clearest evidence that a redirect layer is a dependency rather than an amenity is that Google switched one off. Google's developers blog, in the post "Google URL Shortener links will no longer be available", stated that links built with the Google URL Shortener "in the form https://goo.gl/* will be impacted, and these URLs will no longer return a response after August 25th, 2025". Google is not a startup that ran out of money. It is the largest operator of infrastructure of this kind in the world, and it retired the service anyway.
The plan was later softened rather than reversed. In the August 2025 update to the same post, Google narrowed the shutdown to links that had shown no activity in late 2024 - those had already been serving an interstitial warning - and stated that all other goo.gl links would be preserved and continue to function as normal. Links generated inside Google apps, such as Maps sharing, were never in scope.
Read that sequence from the point of view of somebody who printed a goo.gl code on a menu in 2017. They received an announcement they had no part in, a warning interstitial served between the customer's scan and their page, a deadline, and then a revision to the deadline that depended on how much traffic their own code happened to be getting. At no point could they change what was printed. Link rot is the process by which a published address stops resolving because something behind it was retired, moved or switched off, and this is what it looks like when the address is in ink rather than in a hyperlink.
The lesson is not that providers are unreliable. Most are competent, and several have run continuously for well over a decade. The lesson is that the risk being carried is a strategy risk, not a credit risk, and strategy risk is not reduced by choosing a larger vendor. A short domain is a small, unloved line item on somebody else's balance sheet, and small unloved line items are what gets retired first.
There is one thing a customer can do about it, and it is the same thing throughout this piece: own the name. A hostname you registered is retired when you decide, not when a product review board does.
Run the Arithmetic Against the Life of the Object, Not the Month
The comparison people make is a monthly fee against free, which makes the fee look small. The comparison that matters is the fee multiplied by how long the printed thing stays in service, which is usually years, and set against the number of items in the print run. Both figures are arithmetic rather than opinion, and both are easy to produce before committing.
These are prices the vendors themselves listed in July and August 2026, gathered while writing the comparison pages on this site. Pricing pages move, so treat them as a snapshot and check the current page before relying on any of them. The seven platforms most often lined up against Flowcode are priced side by side in Flowcode alternatives.
- Uniqode lists entry-level dynamic plans from roughly $9 a month, billed annually, and its Core plan at $49 a month. Its own pricing FAQ states that it offers annual plans only. The full comparison covers what that buys.
- Flowcode puts SVG export and its serious features on paid plans from $25 a month, and its codes are dynamic, so they depend on the plan - see the Flowcode comparison.
- ME-QR gives dynamic codes away and funds them with advertising shown between the scan and your page. Its Lite plan, at $7 a month, removes ads from one code in total; Premium at $20 a month removes them from all of them. The ME-QR comparison has the detail.
- Scanova sells an Ultra Lite one-time plan aimed precisely at the single permanent code, which is a fairer shape for printed material than a monthly fee - the Scanova comparison explains where it fits.
Multiply any of those by a realistic service life and the number stops being a rounding error:
| Monthly fee | One year | Three years | Six years | Ten years |
|---|---|---|---|---|
| $7 | $84 | $252 | $504 | $840 |
| $9 | $108 | $324 | $648 | $1,080 |
| $25 | $300 | $900 | $1,800 | $3,000 |
| $49 | $588 | $1,764 | $3,528 | $5,880 |
The second figure is cost per printed item, and it splits the decision cleanly in two. A subscription spread over 5,000 flyers is a few cents each, and buying the ability to fix a wrong URL across 5,000 flyers is obviously worth a few cents. The same subscription behind one sign above one door is the entire cost, carried indefinitely, for a link that has not changed since it went up.
Neither direction is a general rule. The two questions that produce the answer are how long the object lives and how many of them there are, and both are known before anything is sent to a printer.
What Lapsing Actually Does to a Printed Code
A lapsed dynamic code does not degrade. It fails, completely, at the moment of a scan, in front of a customer, on material that looks exactly as it did the day it was printed. There is no visible signal on the object that anything is wrong, which is the part that makes it expensive.
Providers publish what happens, and the answers differ enough to be worth reading before choosing one:
- The code goes inactive. Uniqode states that dynamic codes become inactive once a trial expires or a subscription is cancelled, and that static codes continue to work.
- Some of the codes survive and some do not. QRCodeChimp pauses scans once the free plan's 1,000 monthly scans are used, and a lapsed paid account keeps only the ten most recent dynamic codes active - which means a print run's fate depends on the order the codes were created in.
- The scan allowance runs out mid-campaign. Pageloot counts scans per year - 15,000 on Starter, 50,000 on Premium, 250,000 on Pro - and QR Planet's free account allows 100 scans a day. Campaigns spend allowances in bursts, so the tier to buy is the one that covers the peak week rather than the yearly average.
- The link is deleted rather than expired. Bitly's support documentation states that a deleted link and any QR codes attached to it are removed permanently and cannot be recovered, and that anyone scanning afterwards lands on a Bitly error page. Bitly does say that bit.ly links keep resolving if you downgrade or the account is deleted for inactivity - the Bitly comparison has the full picture.
- Something is inserted in front of your page. ME-QR's free dynamic codes display advertising on the way to the destination. This is invisible when you test your own link and very visible to a customer, and it is a failure of the same kind: something you do not control sits between the scan and the page.
The Failure Has No User-Facing Explanation
When a printed dynamic code stops working, the person holding the phone sees a 404, an error page carrying a company name they have never heard of, or a parked page. None of those says "this restaurant's menu moved". The customer's conclusion is that the business is careless or closed, and there is no way to correct the impression, because the object that produced it is a sign on a wall.
A domain that stops being renewed is also available to whoever wants it next. That is how domain registration works rather than a prediction about any named provider, and it is the reason a retired short domain is a different class of risk from a retired product: the pattern keeps pointing somewhere, and what it points at is no longer anybody's decision but the new registrant's.
The mitigation that costs nothing is to print a short readable URL beside the code. It rescues the print run if the code ever stops resolving, and it serves everyone whose camera fails or who simply does not scan codes - a QR code should be the fast path to the content and never the only path. That is an accessibility requirement rather than a nicety, and it happens to be the cheapest insurance available against every failure listed above.
Where a Subscription Is the Right Purchase
Buy a dynamic QR platform when the destination is genuinely unknown at print time, when scans have to be attributed per code or per location, or when a regulated workflow requires it. In those three cases a static code is not a cheaper option - it is the wrong tool, and the subscription is simply part of the campaign budget.
- The destination is not known yet, or will certainly change. A code on 10,000 flyers for an event whose landing page is not built, or a seasonal menu that moves four times a year, is a code that will need re-pointing. Paying to keep that possible is a straightforward purchase.
- The scans have to be counted per code. Twenty table tents, each reporting separately, or a campaign that must be attributed by city and device, needs a platform. A single redirect on your own domain gives totals, not a breakdown.
- A standard or a client requires it. GS1 Digital Link on packaging, team seats with audit trails, password-protected destinations, or a client who expects a monthly report - these are platform features and no free static tool substitutes for them.
The Technical Advantage Dynamic Codes Genuinely Have
A dynamic code's payload is short, and a short payload produces a physically coarser, more forgiving symbol at the same printed size. This is a real advantage and it is rarely stated as one, because it gets buried under the editability argument. The ISO/IEC 18004 capacity tables make it concrete:
| Payload | Characters | Symbol version at level M | Grid | Module width at 25 mm |
|---|---|---|---|---|
| HTTPS://KOLOQR.COM/M (uppercase) | 20 | 1 | 21 × 21 | 1.19 mm |
| https://qr.example/aB3xK | 24 | 2 | 25 × 25 | 1.00 mm |
| https://example.com/spring-menu-2026 | 36 | 3 | 29 × 29 | 0.86 mm |
| https://example.com/spring-menu-2026?utm_source=table-tent&utm_medium=qr&utm_campaign=spring | 92 | 6 | 41 × 41 | 0.61 mm |
The gap between the top row and the bottom one is nearly double the module width, and module width is what a phone camera actually loses first at distance or in poor light - sizing a code for its scanning distance is the same budget seen from the other end. A tracking-parameter URL on a small printed code is a genuine reliability problem, and a short link genuinely solves it.
The point of this section is that the solution is a short link, not a rented one. Your own domain is short too, and the row at the top of that table is a domain we happen to own rather than one we rent.
A Domain You Own Is the Portable Version of a Dynamic Code
Point a static QR code at a short path on a domain you control, and configure that path to redirect to the real destination. The printed pattern never changes, the destination stays editable in a hosting panel, and the arrangement survives changing generators, changing platforms and changing web hosts, because the only thing the pattern commits you to is a name on your own registration.
This is the middle path this site recommends throughout, and it is worth spelling out properly once rather than in a sentence at the bottom of a comparison page. It is not a workaround. It is the arrangement a dynamic platform would sell you if the custom domain were not the premium tier.
- Choose a Short Path and Keep It Meaningless. Something like example.com/m or example.com/menu. Short, because every character is modules; meaningless, because a path named after this year's campaign becomes a lie next year and the pattern cannot be corrected. Keep the path out of any CMS routing so it survives a site rebuild.
- Configure the Redirect as a 302, Not a 301. RFC 9110 section 15.4.2 states that a 301 response is heuristically cacheable, and browsers do cache them persistently; sections 15.4.3 and 15.4.8, covering 302 and 307, carry no equivalent sentence. A destination you intend to change should not be announced as permanent, or the phones that scanned it first will keep going to the old page after you edit it.
- Generate the Static Code Against That Path and Nothing Else. Encode example.com/m, not the final destination. Any generator will do it; this one exports SVG, PDF, EPS and PNG with no account, which is the format question the printer will ask. Export vector, because the reprint in year four will want a different size.
- Print the Readable URL Beside the Code. The same short path, in text. It is the fallback if anything in the chain fails, and it is what makes the code usable by someone who does not scan codes. On a sign that will be in place for years, this is the single highest-value element on the artwork after the code itself.
- Set the Domain to Auto-Renew for Longer Than the Print Run. The dependency has not been removed, it has been moved to something you control - and something you control can still be forgotten. Register the domain for as many years as the printed object will be in service, turn on auto-renew, and put the renewal on a card that will not expire before the sign comes down.
- Test the Full Chain on Two Phones Before the Print Run. Scan the proof with one iOS and one Android device, using the built-in camera app rather than a scanning app. Confirm the redirect lands, then change the redirect target and confirm the same code follows it. That second test is the one that proves the arrangement works, and it takes a minute.
What the Own-Domain Redirect Does Not Give You
The own-domain redirect is not free and not equivalent to a platform, and pretending otherwise would be the same sales trick in the opposite direction. It replaces a subscription you rent with a dependency you own, which is better, but it is still a dependency and it is worth naming what it costs.
- A domain is a recurring cost too. It is roughly the price of one month of a QR platform per year rather than per month, and it buys a name nobody else can retire - but a lapsed domain fails exactly as badly as a lapsed subscription.
- Analytics are totals, not attribution. Server logs or your existing web analytics will show visits to the redirect path. They will not separate a scan from a click, and they will not break scans down by city, device and hour unless you build that yourself.
- Per-code reporting needs per-code paths. Twenty table tents each reporting separately means twenty redirect paths and twenty codes, which is manageable by hand and tedious past about fifty. Bulk campaigns are where a platform starts earning its fee.
- Somebody has to keep the redirect configured. A site migration, a new host or a new CMS can silently drop a rule that nothing on the site links to. Add the path to whatever checklist covers a migration, because it is invisible until a customer finds it.
- It does not do conditional routing. One code sending iOS to the App Store and Android to Google Play, or routing by country, is a platform feature. It is buildable, and for most people it is not worth building.
None of these is an argument against the approach. They are the terms of it, and they are shorter than the terms of the alternative.
Questions to Ask a Platform Before the Print Run
Ask these before anything is printed rather than after, and take the answers from the vendor's own documentation rather than from a sales reply. Every one of them has a published answer at the better platforms, and a vendor that cannot answer the first two has told you something useful.
- What exactly happens to my printed codes on the day I stop paying - do they go inactive, serve an error, or keep resolving? Find the sentence in the documentation.
- Can the codes run on a domain I own, and what does that cost? This is the only answer that makes a printed code portable between providers.
- Can I export every code with its current destination, in a file I can keep? An export is what turns a lock-in into a migration.
- Does the free or entry tier insert anything between the scan and my page - an advertisement, an interstitial, a consent screen?
- What is the scan allowance, over what period, and what happens the moment it is exceeded? Estimate the peak week, not the yearly average.
- Is there a one-time or perpetual option for a single permanent code, rather than a monthly plan for something that will never change?
- What error correction level does the platform generate at, and can I get a vector file? A code that only downloads as a raster image cannot be reprinted larger - the error correction guide covers why the level matters on printed material.
Decide by How Long the Object Lives
The single most useful question is how long the printed thing stays in service, because it converts a monthly fee into a total and it predicts how likely the destination is to change before the object is retired. Short-lived print with a fixed link needs nothing. Long-lived print with a fixed link needs a domain you own. A platform earns its fee where the object is short-lived, numerous and measured.
| Printed thing | Typical service life | Does the link change? | What fits |
|---|---|---|---|
| Event badge, day signage | Days | No | Static code, destination encoded directly |
| Poster or flyer campaign | Weeks to months | Sometimes | Static code on your own domain; a platform if the run is large and measured |
| Table tent, menu card | Months to a year | Often | Static code on your own domain; a platform if scans per table matter |
| Business card | One to three years | Rarely | Static code, destination encoded directly |
| Product packaging in the channel | One to five years | Sometimes | Static code on your own domain; a platform where GS1 or regulation requires it |
| Shopfront sign, vehicle livery | Three to seven years | Rarely, and expensively when it does | Static code on your own domain, readable URL beside it |
| Engraved plaque, memorial, embossed product | Decades | Never, and cannot | Static code on your own domain, readable URL beside it, domain registered long |
Two collections on this site sit either side of that table. Restaurant menus are the case where the link changes often and the object is cheap to reprint, which is the strongest argument for editability. Business cards are the opposite - a fixed destination on an object nobody reprints to fix a URL - and a URL QR code encoding the address directly is the whole of what they need.
If a code is being generated for anything in the bottom three rows of that table, the decision worth twenty minutes is not which platform to buy. It is which domain the code should point at, and whether that domain is registered for long enough.
Make Your QR Code
Free, with no account and no watermark. Choose a shape, add a logo, check the contrast, and export SVG, PDF, EPS or PNG - a static code with no subscription behind it.
Generate QR CodeQuestions? Answered
The pattern never expires - the redirect behind it stops. A dynamic QR code encodes a short link on the provider's domain, and that link resolves only while the account and plan behind it stay active. Uniqode, for example, states that dynamic codes become inactive once a trial expires or a subscription is cancelled, while static codes keep working. The printed object is unaffected and unusable at the same time.
It depends on the provider, and the answers differ enough to check before printing. Some deactivate every dynamic code, some keep a fixed number active - QRCodeChimp retains only the ten most recent on a lapsed paid account - and some keep short links resolving after a downgrade. Static codes are never affected, because no account sits behind them. The sentence you want is in the provider's documentation, not in a sales reply.
Only if the codes run on a domain you own. The printed pattern contains a hostname, so moving providers means moving that hostname, and a provider's short domain cannot move with you. A code on your own domain can be re-pointed at anything, including a different platform, without a reprint. This is the single most important question to ask before a large print run, and it is why custom domains are usually a premium add-on.
The code is, and the destination is not. A static QR code has no account, no plan and no service in the scan path, so nothing can deactivate it - it resolves for as long as the URL inside it resolves. That URL still depends on a domain being renewed and a page existing at that address. The dependency has not been removed; it has been reduced to one you control directly.
Not in the pattern, but yes in practice, if you planned for it. Point the code at a short path on your own domain and redirect that path to the real destination, then edit the redirect whenever you like. Use a 302 rather than a 301: RFC 9110 states that a 301 response is heuristically cacheable, so browsers that saw the first destination may keep going there after you change it.
Because their payload is shorter, not because they are dynamic. A 24-character short link fits an ISO/IEC 18004 version 2 symbol, a 92-character URL with tracking parameters needs version 6, and at 25 mm wide that is a module width of 1.00 mm against 0.61 mm. Module size is what a camera loses first. A short path on your own domain produces exactly the same advantage without the redirect being rented.
Partly. A static code pointed at a redirect on your own domain puts every scan in your server logs or web analytics, which gives totals, referrers and timing. It will not separate a scan from a click, and it will not break the numbers down per code unless each code has its own path. If campaign-level attribution by city and device is the point, buy the platform - that is what it is for.
Yes, when a standard or a recall path requires it, and only with a domain you own. Packaging sits in the channel for years, so the redirect has to outlive several renewal cycles and possibly a change of vendor. Before committing, confirm who owns the account, who renews it, and what happens to those labels if the card on file expires. A one-time or perpetual plan, where a provider offers one, is a better shape than a monthly fee for a permanent object.
Keep Exploring
Pages that pick up where this one leaves off - the same setting, the same kind of code, or the next thing worth deciding.
Event QR Codes
One scan connects guests to tickets, schedules, directions and RSVPs - on invites, posters and signage.
Retail Stores
Product details, stock and review links on shelf labels, shop windows and checkout signs.
URL QR Code
Send anyone straight to a web page, landing page, or link with a single scan.
Google Drive QR Code
Hand over a file, a folder, or a download from anything printed.
Posters
A3 to A0 - how big the code has to be for the distance people can actually stand at, and how high off the floor it belongs.
Seven Flowcode Alternatives and What Each Replaces
Flowcode's free plan stops at 2 codes and 500 scans, and the first paid step is $25 a month - here is what seven alternatives cost, and why none of them can rescue a code that is already printed.
Why KoloQR?
- Create QR codes for websites, menus, Wi-Fi, PDFs, and business cards
- Customize colors, logos, and unique shapes
- Download high-quality PNG and SVG files
- Built for both print and digital

