A self-hostable link shortener with analytics that runs entirely on Cloudflare Workers, D1, and KV, with no traditional server.
thedevs-network/kutt
Kutt is a self-hostable URL shortener with custom domains, link statistics, an admin panel and a RESTful API.
Open-source alternative to:Bitly
- Stars
- 11,161
- Forks
- 1,514
- Open issues
- 88
- Last commit
- 3 days ago
What is it?
Kutt is a URL shortener that you can run on your own server or use through the hosted kutt.to service. It lets users create and edit short links, set custom URLs, passwords, descriptions and expiration times, and view private statistics for each link. Admins can manage users and links from a dedicated admin page.
For self-hosting, Kutt needs only Node.js 20 or later and uses SQLite by default, with optional Postgres, MySQL or MariaDB and Redis for caching. Docker Compose files are provided for several database setups, and the app is configured through environment variables. Registration, anonymous links, and email/password login can be disabled, and OpenID Connect login is supported.
Kutt also offers a RESTful API, custom theme support through a `/custom` folder for CSS, images and Handlebars views, and browser extensions for Chrome and Firefox. Community clients exist for languages including Python, Go, Rust and C#.
Key features
- 01Custom domain support for short links
- 02Create, edit, and delete links with custom URLs, passwords and expiration
- 03Private statistics for each shortened URL
- 04Admin page for managing users and links
- 05RESTful API for programmatic link management
- 06Supports SQLite, Postgres, and MySQL/MariaDB, with optional Redis cache
Use cases
- Hosting a private URL shortener for a team or organization on your own domain
- Shortening links with statistics while keeping data on your own infrastructure
- Adding short-link creation to scripts or apps through the API
- Restricting an instance to invited users by disabling registration and anonymous links
Quick start
- 1
Clone this repository or download the latest zip
- 2
Install dependencies
npm install - 3
Initialize the database
npm run migrate - 4
Start the app for development (or use npm start for production)
npm run dev
Things to know
- Requires Node.js 20 or above.
- JWT_SECRET must be set to a long random string in production.
- Registration is disabled by default and needs email enabled to sign up new users.
Topics
FAQ
- What is kutt?
- Kutt is a self-hostable URL shortener with custom domains, link statistics, an admin panel and a RESTful API. Kutt is a URL shortener that you can run on your own server or use through the hosted kutt.to service. It lets users create and edit short links, set custom URLs, passwords, descriptions and expiration times, and view private statistics for each link. Admins can manage users and links from a dedicated admin page.
- Is kutt free to use? What license does it have?
- kutt is open source under the MIT license. Check the license terms before using it in commercial products.
- Is kutt still maintained?
- Actively maintained. The last commit to kutt was on Oct 19, 2026.
- What can I use kutt for?
- Hosting a private URL shortener for a team or organization on your own domain Shortening links with statistics while keeping data on your own infrastructure Adding short-link creation to scripts or apps through the API Restricting an instance to invited users by disabling registration and anonymous links
- How do I install kutt?
- Clone this repository or download the latest zip Install dependencies: npm install Initialize the database: npm run migrate Start the app for development (or use npm start for production): npm run dev
- Where can I get kutt?
- The source code and installation instructions are on GitHub: https://github.com/thedevs-network/kutt
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source link attribution platform for short links, conversion tracking, and affiliate programs, built with Next.js and TypeScript.
Self-hosted, open-source PDF editing platform for editing, signing, redacting, converting and automating PDFs in the browser, desktop or via API.
Self-hosted, open-source workout, nutrition and body weight tracker built on Django, with a REST API and companion mobile apps.
A self-hosted, single-binary pastebin and file-sharing web app written in Rust, with optional encryption and URL shortening.
A privacy-first, self-hosted smart home assistant that runs locally on devices like a Raspberry Pi, NAS or mini-PC.