Self-hosted link shortener with analytics, file tracking, and click alerts. Deploys to Cloudflare Workers. Free tier handles 33K clicks/day.
One command. No credit card. Takes about 4 minutes.
What you get
Country, region, city, device, OS, browser, referrer, and UTM parameters. Tracked via Cloudflare's edge -- no client-side JavaScript required. We HMAC-SHA256 hash visitor IPs with a daily-rotating salt. Same-day dedup, zero long-term tracking.
Share PDFs with page-by-page view analytics. DocSend charges $45/user/mo for this.
Email or webhook the moment someone opens your link. Set per-link or globally. HMAC-signed webhook payloads.
Bitly gives you 1. Dub gives you 10. You get unlimited. SSL via Cloudflare, no cert management.
No monthly caps. 5GB D1 storage on the free tier holds millions of links and click records.
Password-protect links or require email capture before redirect. PBKDF2 hashed, 600K iterations.
Pricing
Cloudflare Workers free tier: 100K requests/day. Paid plan ($5/mo) unlocks 10M requests/month.
| Feature |
Bitly Growth $35/mo |
Dub.co Pro $25/mo |
DocSend Std $45/user/mo |
LinkTracker $0 -- $5/mo |
|---|---|---|---|---|
| Short links | 500/mo | 1,000/mo | -- | Unlimited |
| Custom domains | 1 | 10 | -- | Unlimited |
| City-level geolocation | $199/mo plan | -- | ||
| Click alerts | -- | -- | Email only | Email + webhook |
| File tracking (per-page) | -- | -- | ||
| Password protection | -- | |||
| Self-hosted | -- | -- | -- | |
| Open source | -- | -- | ||
| API + CLI + MCP | API only | API only | API only | All three |
Setup
One command. Sets up D1, R2, KV, and Queues on your Cloudflare account.
Dashboard, CLI, API, Chrome extension, or MCP server. Pick your interface.
Redirects resolve in under 10ms at the edge. Analytics are written async via Cloudflare Queues.
Privacy
Raw IPs are never stored. We HMAC-SHA256 hash each IP with a daily-rotating salt derived from a secret you control. Same IP on the same day produces the same hash (for unique visitor counting). Different day, different salt, different hash. Unlinkable.
Deploys to your Cloudflare account. The data lives in your D1 database, your R2 bucket, your KV namespace. No third-party analytics. No tracking pixels. No data leaves your account unless you set up webhooks.
Interfaces
React + Vite
Manifest V3
npm package
Stripe-style
AI agents
Join 500+ developers who self-host their link analytics. Runs free on Cloudflare. No vendor lock-in. Export your data as SQLite anytime.