The number to check before subscribing
Disclosure: EZQR publishes this page and sells a competing product. Bitly figures were read from bitly.com/pages/pricing in August 2026.
Bitly meters QR codes monthly, and the allowances are lower than most people expect from a company of that size.
Free gives 2 QR codes a month. Core, at $10 a month, gives 5. Growth, at $29 a month on annual billing or $35 monthly, gives 10. Premium, at $199 a month on annual billing, gives 200.
Read that Core line again. Five codes a month, at $10.
One note on where the confusion comes from: Bitly's QR product page mentions creating "up to 200 Bitly QR Codes each month", which is the Premium allowance rather than a general one. If you took that figure from the marketing page and subscribed to Core, the gap is forty-fold.
None of this makes Bitly a bad product. It makes it a link platform that sells QR codes as a metered extra, which is a different thing from a QR platform.
| Plan | Price | QR codes per month |
|---|---|---|
| Bitly Free | $0 | 2 |
| Bitly Core | $10/mo ($120/yr) | 5 |
| Bitly Growth | $29/mo annual, $35 monthly | 10 |
| Bitly Premium | $199/mo annual, $300 monthly | 200 |
| EZQR Free | $0 | 3 dynamic, unlimited static |
| EZQR Lite | $5/mo | 25 dynamic |
| EZQR Pro | $10/mo | 100 dynamic |
| EZQR Max | $20/mo | Unlimited dynamic |
Tips
- The allowance is per month rather than a running total, so a campaign that generates 40 codes in one week does not fit on Growth even if you create nothing for the rest of the year.
- Both platforms bill monthly at the entry tiers. Bitly offers an annual discount; we do not.
Bitly QR codes are URL-only, and that is by design
Bitly's product page describes QR codes that "link to anything with a URL attached", including web pages, hosted PDFs and promotional content.
That phrasing is precise, and it excludes a category of QR payload that has no URL at all.
A WiFi QR code encodes a network name, a password and a security type directly into the pattern. There is no URL and no server. The phone reads the credentials and joins, which is why it works before the guest has any connection. A URL-only platform does not produce one.
A vCard code encodes contact data that saves straight to the phone book, again with no URL involved. The same applies to SMS payloads, calendar events and several payment formats.
Where Bitly is a URL platform, this is not a defect but a boundary. If everything you point at lives on the web, the boundary never binds. If you need a guest WiFi code on a table tent, it binds immediately.
Worth crediting: Bitly QR codes are dynamic. You can redirect a code to a new URL at any time, or switch off the link behind it, and paid plans support expiry dates. That is the right architecture and it is well executed. A hosted PDF also works on Bitly, since a hosted PDF is a URL.
Where Bitly is genuinely the better tool
A comparison that finds nothing good in the competitor is marketing, so here is the honest side.
Link management at scale. Bitly is one of the best link platforms in existence. If you are managing thousands of short links across campaigns, teams and channels, with QR as one output among many, its tooling is deeper than ours across the board.
Branded short domains. Bitly has run custom domains for a very long time and the implementation is mature. Ours arrives on Max at $20/mo, and theirs is more battle-tested at enterprise scale.
Link-level analytics. Bitly's click analytics predate the QR feature by more than a decade, and the depth reflects it. Our scan analytics are good for QR specifically; theirs cover a broader link estate.
Integrations and API maturity. If your marketing stack already speaks Bitly, that counts for more than a feature comparison suggests.
The honest framing: if the job is link management and you want QR codes occasionally, Bitly. If the job is QR codes and you want short links occasionally, the allowance maths goes the other way.
Same price, different unit
Both platforms have a $10 tier, which makes the comparison unusually clean.
Bitly Core at $10/mo gives 5 QR codes a month, plus Bitly's link management. EZQR Pro at $10/mo gives 100 dynamic codes, full analytics retention, city-level location data, A/B testing, scheduling and CSV export.
So the question is not which is better value in the abstract. It is what you are buying the ten dollars for.
A marketing team already standardised on Bitly, creating a handful of codes a quarter, should stay on Bitly. Adding a second subscription to save nothing is not an improvement.
A restaurant group generating a code per location per season, an agency running client campaigns, or anyone printing in batches will hit five a month in the first week. At that point the comparison is Bitly Premium at $199/mo for 200 codes against EZQR Max at $20/mo for unlimited, and the gap stops being a matter of taste.
The cost breakdown covers where the rest of the market sits between those poles.
What to check before switching either way
Count the codes you will create per month, not in total. This is the single number that decides it. Monthly metering punishes bursty work, and most printed campaigns are bursty.
Check whether any payload is not a URL. WiFi, vCard, SMS and calendar payloads are not URLs. If even one placement needs those, a URL-only platform will not cover it.
Printed codes do not migrate. A printed dynamic code carries a short URL on the original vendor's domain, so switching means recreating codes and reprinting anything already in circulation. The exception is a custom domain: if the short URLs run on a domain you own, you can repoint them and printed codes keep working. That is a genuine argument for setting up a branded domain early, on either platform.
Ask what a lapse does. We have not verified Bitly's post-cancellation behaviour for QR codes and will not state one without a source. Ours: a lapse leaves the three oldest dynamic codes redirecting and pauses the rest until you resubscribe, with nothing deleted. The dynamic generator comparison lists the questions worth sending any vendor before a print run.
Consider whether you need dynamic at all. If a destination never changes, a static code has no subscription, no metering and no vendor in the path, on either platform. The static versus dynamic guide settles that quickly.