Replace Bitly?
YES · one-shottableA slug, a lookup, a 302, and a row in a table. Cloudflare Workers plus KV and D1 does the whole job on the free tier, and QR codes are one library call. The only thing you are really buying is that bit.ly resolves links created in 2012 and will presumably still resolve them in 2032, which is an institutional promise rather than a technical one. If the links are going in a magazine ad or on packaging, that promise is worth something. If they are going in this week's newsletter, it is worth nothing, and Growth is 420 USD a year.
Build me a link shortener with click analytics and QR codes to replace Bitly. Requirements:
- Cloudflare Workers via wrangler: KV for the slug lookup, D1 for the click
log. Free tier, and it runs on my own domain.
- A worker on go.mydomain.com/{slug} reads KV and 302s, writing the click to
D1 inside ctx.waitUntil so the redirect never waits on the database.
- Slugs are random 6-character base62 by default, but I can set a custom
back-half, and creating one that already exists fails loudly instead of
overwriting it.
- Log per click: slug, timestamp, country and city from request.cf,
device type parsed from the user-agent, and referer.
- Generate a PNG QR code for any link with the qrcode npm package, served at
/qr/{slug} and cached, so print material points at the same tracked link.
- Optional expiry and a click cap per link · past either, 302 to a fallback
URL I set instead of returning a 404.
- An /admin page behind one password (wrangler secret) listing links with
clicks per day, plus top countries and device split per link.
- Secrets via wrangler secret, never in wrangler.toml. No accounts, no
third-party analytics, no telemetry.
- README: wrangler setup, the KV namespace and D1 database, the DNS record,
and a warning that these links die with the domain, so use a domain you
intend to keep renewing.$ open in your agent (prompt prefilled, you press enter) or copy it raw
Bitly's actual product is a promise about the future: that a link printed on a box in 2019 still resolves today. No amount of code buys that, only an institution that intends to keep existing. Teams also pay for shared workspaces, SSO, and the audit trail, and marketing departments pay because the alternative is asking engineering for a redirect and waiting two weeks.
xlinks that outlive your own infrastructure · a domain you stop renewing takes every link with it
xbit.ly's recognition in the link itself, which cuts both ways now that shorteners get spam-filtered
xbundled QR code management, landing pages, and campaign grouping
xcity-level and device-level analytics rollups without building them
xan SLA and someone to call
What does the Bitly verdict mean?
The directory classifies the core job as practical to build with an AI coding agent. Use the prompt as a starting point and review the tradeoffs before relying on the result. This research record is not a hosted IVCIFY tool.
What price does this directory record show for Bitly?
The directory records $35/month for Growth, checked 2026-07-30. Verify the source before making a purchase decision. This reference stays outside retail Stack Math unless current matched evidence supports the comparison.
What do I lose by replacing Bitly?
Honestly: links that outlive your own infrastructure · a domain you stop renewing takes every link with it; bit.ly's recognition in the link itself, which cuts both ways now that shorteners get spam-filtered; bundled QR code management, landing pages, and campaign grouping; city-level and device-level analytics rollups without building them; an SLA and someone to call. If any of those are load-bearing for you, keep paying.
Is there an open-source alternative to Bitly?
The listed prior art includes Dub (The most complete open-source link platform · analytics, custom domains, QR codes. Self-hostable.), Shlink (Self-hosted URL shortener with a REST API, click stats, and QR codes.), YOURLS (The long-running PHP shortener · drop it on any LAMP host and it works.). Inspect those projects before starting from a blank prompt.