shrtnr

What shrtnr is
shrtnr is a self-hosted URL shortener for managing links through a web dashboard, REST API, typed SDKs, or an MCP server. It runs on Cloudflare Workers and D1 in your Cloudflare account, within Cloudflare’s free tier, and keeps links and click data in your D1 database. The API offers an OpenAPI 3.1 specification, an interactive reference on each deployment, and scoped bearer keys. SDKs are available for TypeScript, Python, and Dart/Flutter. Click analytics cover countries, referrers, devices, operating systems, browsers, QR scans versus link clicks, and timelines. Bundles combine analytics for related links. A destination can use a random slug and multiple custom slugs, with each tracked and switchable independently. Cloudflare Access supplies identity controls, while the MCP server connects Claude, Copilot, and other MCP clients through OAuth. The dashboard supports English, Indonesian, and Swedish, with three themes and QR codes. Custom domains and API access are included. Password-protected links, imports, exports, routing, tags, social preview overrides, and click webhooks are listed as unavailable.
Who it suits
shrtnr is aimed at apps, teams, and AI agents needing programmable short-link management. It suits users comfortable operating services in their own Cloudflare account.
What it does well
- Runs within Cloudflare’s free tier
- Detailed click analytics and timelines
- REST API with OpenAPI 3.1 specification
- Typed SDKs for three ecosystems
- MCP connections for Claude and Copilot
What to know first
- Several link features are not yet available
- Requires self-hosting in a Cloudflare account
- Dashboard language choices are limited to three
- Links and data remain tied to D1
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Self-hosted | Runs on Cloudflare Workers and D1 within Cloudflare’s free tier | Free |
As github.com lists them, read 12 Oct 2026. The maker's own page has the final word.
Verdict
shrtnr offers programmable shortening, analytics, bundles, and AI integrations while keeping hosting in your Cloudflare account. Check its unavailable features before adopting it for advanced link-management requirements.
Facts from shrtnr's own pages
- Access controls
- Cloudflare Access provides identity; creators own their links and bundles, while signed-in users can read them. · oddbit.id, 12 Oct 2026
- Analytics
- Click analytics include countries, referrers, devices, operating systems, browsers, QR scans versus link clicks, and timelines. · oddbit.id, 12 Oct 2026
- API
- The REST API has an OpenAPI 3.1 spec, an interactive reference on each deployment, and scoped bearer keys. · oddbit.id, 12 Oct 2026
- API access
- Yes · github.com, 20 Sept 2026
- Audience
- The maker presents shrtnr for apps, teams, and AI agents that need to manage short links through code or AI assistants. · oddbit.id, 12 Oct 2026
- Bundles
- Bundles combine analytics for related links, and a link can belong to multiple bundles. · oddbit.id, 12 Oct 2026
- Custom domains
- Yes · github.com, 20 Sept 2026
- Dashboard
- The admin dashboard supports English, Indonesian, and Swedish and includes three themes and QR codes. · oddbit.id, 12 Oct 2026
- Data location
- The project says it is self-hosted in the user's Cloudflare account and links and click data stay in the user's D1 database. · oddbit.id, 12 Oct 2026
- Free plan
- Yes · github.com, 20 Sept 2026
- Hosting
- It runs on Cloudflare Workers and D1, within Cloudflare’s free tier. · oddbit.id, 12 Oct 2026
- Integrations
- The MCP server supports Claude, Copilot, and other MCP clients through OAuth on Cloudflare Access. · oddbit.id, 12 Oct 2026
- Limits
- Password-protected links, import/export, device or country routing, tags, social preview overrides, and click webhooks are listed as not yet available. · oddbit.id, 12 Oct 2026
- Product
- shrtnr is a self-hosted URL shortener with a REST API, typed SDKs, and an MCP server. · oddbit.id, 12 Oct 2026
- SDKs
- Typed SDKs are available for TypeScript, Python, and Dart/Flutter. · oddbit.id, 12 Oct 2026
- Slugs
- A destination can have a random slug and multiple custom slugs, each tracked and switchable independently. · oddbit.id, 12 Oct 2026
Where shrtnr stands on Freedom251
- URL shorteners#57 of 156