We benchmarked 8 popular URL shorteners — Bitly, TinyURL, Rebrandly, Short.io, Dub, Cutt.ly, shorturl.at, and our own INBIO — on the things that actually matter: how fast the redirect is, whether machines can follow the link at all, whether they keep your tracking intact, whether your link still works a year from now, and what their free plans actually give you. Every link pointed at the same page, and the speed and behavior numbers are reproducible with open-source code.
Two headline results: INBIO had the fastest and most consistent redirect (232ms median), and two services — Short.io and Dub — block automated requests entirely, which means social previews, search crawlers, and AI assistants can't see what's behind their links.
We built this benchmark, and we're a URL shortener — so don't take our word for it. The code and raw data are public. Run it yourself.
How we tested
- One short link per service, all pointing at the same destination, so the comparison is fair.
- Speed: we timed only the shortener's own redirect response — not the destination page — 100 samples per service, from a US location. We report the median (p50) and the 99th percentile (p99), the occasional worst case your visitors actually hit.
- Machine-readability: we sent a normal request and recorded whether the service answered or blocked it. We identify our probe honestly and don't try to defeat bot-blocking — a block is a finding, not a bug to engineer around.
Block 1 — Redirect speed
Milliseconds to the redirect response. Lower is better.
| # | Service | Median (p50) | Worst case (p99) |
|---|---|---|---|
| 1 | INBIO | 232 ms | 263 ms |
| 2 | TinyURL | 257 ms | 404 ms |
| 3 | shorturl.at | 298 ms | 382 ms |
| 4 | Bitly | 307 ms | 402 ms |
| 5 | Rebrandly | 310 ms | 1,149 ms |
| 6 | Cutt.ly | 313 ms | 467 ms |
| — | Short.io | blocked our probe | — |
| — | Dub | blocked our probe | — |
The network floor from our test location was 80 ms, so that's the fastest any redirect could physically be.
INBIO wasn't just fastest on the median — it was the most consistent. Its worst case (263 ms) was better than most services' typical case. Rebrandly's median was fine, but it spiked past one full second in its slowest 1% of requests. Short.io and Dub couldn't be measured at all, for a reason that turns out to be the more important story.
Block 2 — AI-readiness: can machines read the link?
This is the test nobody runs, and it's the one that's quietly becoming the most important. A short link only helps if whatever follows it can reach the destination. We checked whether each service answers automated requests.
| Service | Answers bots & AI? | What happens |
|---|---|---|
| INBIO | ✅ Yes | Clean redirect |
| Bitly | ✅ Yes | Clean redirect |
| Rebrandly | ✅ Yes | Clean redirect |
| Cutt.ly | ✅ Yes | Clean redirect |
| shorturl.at | ✅ Yes | Clean redirect |
| TinyURL | ⚠️ Partial | Shows a preview page — destination hidden |
| Short.io | ❌ No | Blocks with an error (HTTP 403) |
| Dub | ❌ No | Blocks with an error (HTTP 403) |
When a shortener blocks bots, it's not protecting you — it's hiding your link from the machines that decide who sees it:
- Social previews break. Slack, iMessage, WhatsApp, Discord, and X fetch your link with a bot to build the preview card. Blocked means no title, no image — just a bare URL, which gets fewer clicks.
- Search engines can't follow it. A crawler that hits a 403 never reaches your destination, so the link carries no context.
- AI assistants can't read it. ChatGPT, Perplexity, Claude, and Google's AI Overviews follow links to read and cite the page behind them. A shortener that blocks bots makes your content invisible to exactly the tools that increasingly drive discovery.
A link a human can open but a machine can't is doing half its job — and in an AI-driven web, the half it's failing is the half that's growing.
Block 3 — Do your tracking tags survive?
If you run ads, the platform appends parameters to your URL (utm_source, fbclid, gclid…) and your analytics group by them. If the shortener strips them on the redirect, that attribution is gone. We appended a full set of tags and checked which reached the destination.
| Service | UTM tags kept | Click IDs kept | Attribution safe? |
|---|---|---|---|
| INBIO | ✅ | ✅ | ✅ Yes |
| Rebrandly | ✅ | ✅ | ✅ Yes |
| shorturl.at | ✅ | ✅ | ✅ Yes |
| Cutt.ly | ✅ | Drops gclid |
❌ No |
| Bitly | Drops all UTMs | ✅ | ❌ No |
| TinyURL | ❌ | ❌ | ❌ No (interstitial) |
| Short.io / Dub | couldn't test (blocked) | — | — |
Bitly quietly dropping every utm_* tag is the one that surprises marketers most — your Facebook and Google click IDs survive, but the campaign, source, and medium you set do not.
Block 4 — Link longevity: will your link still work next year?
You can't measure this with a stopwatch — it lives in the fine print. So we read the actual terms and help docs of every service. The good news: most keep your links indefinitely. The trap is the one service that quietly disables — and then reassigns — links that go quiet.
| Service | Free links expire? | The rule |
|---|---|---|
| INBIO | No | Kept indefinitely. Only anonymous links (made without an account) that get zero clicks for 12 months may be pruned. |
| Bitly | No | "Bitly Links never expire." |
| TinyURL | No | "Our TinyURL links do not expire." |
| Rebrandly | No | Don't expire — "even if you downgrade to a free account, all your links will continue to function." |
| Cutt.ly | No | "Cuttly short links do not expire automatically on any plan." |
| Short.io | No | No time-based expiry; the free plan is a 1,000-link lifetime cap, and links keep working. |
| Dub | No | No inactivity-deletion policy in its terms, docs, or open-source code. |
| shorturl.at | ⚠️ Yes | A free link is disabled if it gets fewer than one click per month — and a disabled code "may become available for use by other users." |
The shorturl.at trap is the one to know about. It's not just that a quiet link stops working — the short code can be handed to a stranger. A flyer or QR code you printed last year could, after one slow month, later point to someone else's content entirely.
And a myth worth killing: you'll read across the web that "Bitly deletes links after 30 days of inactivity," and that Dub and Short.io purge inactive free links. We went to the source — none of that is in any official terms or help doc. Bitly's own page says links never expire; Dub and Short.io document no inactivity deletion. Repeating those claims is how bad SEO content gets written. Reading the actual terms is how you avoid it.
Sources: Bitly, TinyURL, Rebrandly, Cutt.ly, Short.io, Dub, shorturl.at.
Block 5 — Free tiers and pricing: what you actually get
Most people pick a shortener on its free plan, so we pulled the current numbers from every service's pricing page. Free tiers vary wildly — from 5 links a month with no analytics to thousands of tracked clicks with a full click log.
Free plan
| Service | Links / month | Clicks tracked / month | Analytics | Detailed click data |
|---|---|---|---|---|
| INBIO | 50 | 5,000 | ✅ | ✅ Full click log |
| Short.io | 1,000 (lifetime) | 50,000 | ✅ | ✅ (first 50k clicks) |
| Cutt.ly | 30 | Unlimited | ✅ | ✅ |
| Dub | 25 | 1,000 | ✅ | ✅ |
| Rebrandly | 10 | 100 | ✅ Basic | ⚠️ No city or referrer |
| Bitly | 5 | Unlimited | ❌ Count only | ❌ |
| TinyURL | Not stated | ❌ None | ❌ | ❌ |
| shorturl.at | Not stated | Counter only | ⚠️ Count only | ❌ |
"Detailed click data" means breakdowns by country, device, browser, and referrer — the difference between "you got 40 clicks" and "40 clicks, mostly from Germany, on mobile, via LinkedIn."
Two free tiers stand out for the wrong reasons. Bitly gives you 5 links a month and no analytics dashboard — just a running total. TinyURL's free plan tracks no clicks at all (it records them silently but won't show you a thing until you pay). If you shorten links to learn something, neither free tier does the job.
Cheapest paid plan
| Service | Plan | Price / month | Links / month | Clicks / month |
|---|---|---|---|---|
| Short.io | Hobby | $5 | 2,500 (lifetime) | 100,000 |
| INBIO | Pro | $9 ($7.50 annual) | 2,000 | 100,000 |
| Bitly | Core | $10 (annual only) | 100 | Unlimited |
| Rebrandly | Essentials | $11 ($8 annual) | 250 | 10,000 |
| TinyURL | Pro 125 | $11 ($9 annual) | 125 | Not stated |
| Cutt.ly | Starter | $12 ($11 annual) | 300 | Unlimited |
| Dub | Pro* | $30 ($27 annual) | 1,000 | 50,000 |
| shorturl.at | Premium | Not published | Unlimited | — |
*Dub's Pro plan is no longer shown on its pricing page — the cheapest plan it now advertises is Business at $90/month. Bitly's Core is annual-billing only ($120 up front), and its cheapest plan with device- and city-level analytics is Premium, not Core.
At $9–12/month most services give you a few hundred links. But tie this back to Blocks 1–2: Short.io is cheapest, yet it was the one that blocked automated requests — cheap links that machines can't read are a different kind of expensive.
Sources: INBIO, Bitly, TinyURL, Rebrandly, Short.io, Dub, Cutt.ly, shorturl.at.
The scoreboard
| Service | Speed (p50) | Machine-readable | Ad-tracking safe | Links persist |
|---|---|---|---|---|
| INBIO | 🥇 232 ms | ✅ | ✅ | ✅ |
| Rebrandly | 310 ms | ✅ | ✅ | ✅ |
| shorturl.at | 298 ms | ✅ | ✅ | ❌ expires if idle |
| Bitly | 307 ms | ✅ | ❌ | ✅ |
| Cutt.ly | 313 ms | ✅ | ❌ | ✅ |
| TinyURL | 257 ms | ⚠️ | ❌ | ✅ |
| Short.io | blocked | ❌ | ❌ | ✅ |
| Dub | blocked | ❌ | ❌ | ✅ |
The takeaway
A short link looks like a commodity — paste a URL, get a shorter one — but five simple tests pulled the field apart.
- Speed is close at the top and messy in the tail: the fastest median was 232 ms, but some services quietly spiked past a full second on their slowest requests.
- Machine-readability is the dividing line. Two of eight services block bots outright, which breaks social previews and hides the destination from search engines and AI assistants — the fastest-growing way people discover links.
- Tracking and longevity live in the fine print. Some shorteners silently drop your UTM tags; one disables — and reassigns — links that go quiet. Neither is something you'd notice until a campaign report comes back empty or a printed QR code points somewhere new.
- Free tiers range from generous to nearly useless — from thousands of tracked clicks with a full click log down to five links a month and no analytics at all.
The links you make today should still work, still be readable, and still be measurable next year. That's the bar we built INBIO to clear — and, per the numbers above, the one it clears best: fastest redirect, every parameter preserved, readable by every bot and AI, links that don't expire, and real analytics on the free plan.
Shorten your first link — free, no account, five seconds. New to campaign tracking? Start with our step-by-step guide to shortening a URL.
Methodology: speed and redirect-behavior results come from an open-source benchmark you can run yourself; pricing, longevity, and feature data were read from each provider's official pricing pages, terms, and help docs, linked inline. Figures reflect what was published in 2026 and can change — we'll keep this comparison updated.



