Sink is an open-source, self-hosted short-link application with visit analytics that runs on Cloudflare without a VPS. It supports custom domains, bulk link creation, geo targeting, and an authenticated API. Links can have expiration dates, passwords, warning pages, tags, and routing by device or country. The dashboard provides reports, logs, filters, and a near-real-time view. Sink deploys to Cloudflare Workers or Cloudflare Pages; its documentation recommends Workers and marks Pages deprecated. D1 and KV are required, Analytics Engine is recommended, and R2 and Workers AI are optional. Each instance publishes REST API documentation and an OpenAPI document, and an MCP endpoint is available at POST /api/mcp. Optional Workers AI can suggest short codes and titles. Social previews support custom titles, descriptions, and images, with R2 uploads limited to 5 MB. Links can be imported or transferred as JSON, and access analytics exported as CSV. Optional Cloudflare Access can protect the dashboard and API, but short links remain public.
Who it is for
Sink is aimed at individuals and small teams wanting a self-hosted Cloudflare shortener with analytics. It suits users comfortable configuring Cloudflare services and managing optional integrations.
What is good
- Runs on Cloudflare without a VPS
- Custom domains and bulk link creation
- Routing by device or country
- Near-real-time analytics dashboard
- Authenticated REST API and OpenAPI document
What to know first
- D1 and KV are required
- Cloudflare Pages deployment is deprecated
- Short links remain public with Access
- Links support up to 10 tags
Verdict
Sink provides link management, analytics, APIs, and Cloudflare deployment controls for self-hosted setups. Review its required services and public-link behavior before deploying it for protected destinations.
Compared on URL shorteners
- Custom domains
- Yes
- API access
- Yes
- Bulk link creation
- Yes
- Geo targeting
- Yes



