Kutt
A self-hosted URL shortener with custom domains, private link statistics, and an admin page for managing users and links.

Kutt is a URL shortener written to be run by the person using it. Links are created, edited, and deleted from the app, statistics stay private to the owner of a link, and custom domains work without a paid tier in the way.
Setup was clearly the design constraint. Node.js 20 or above is the only prerequisite, there is no build step, and the default database is SQLite, with Postgres, MySQL, and MariaDB supported when something larger is needed and Redis available for caching. The first launch prompts for an admin account.
The rest of the feature set covers what a shared instance needs.
- Link controls: custom URLs, passwords, descriptions, and expiration times.
- Access rules: registration and anonymous links can each be disabled, and OpenID Connect handles login.
- Admin page: users and links are managed from inside the application.
- Theming: a custom folder holds CSS, images, and templates that override or replace the defaults.
- REST API: links can be created and managed programmatically.
Compose files are provided for SQLite, SQLite with Redis, Postgres with Redis, and MariaDB with Redis, and an official Docker image is published. Configuration is environment variables, all optional except the JWT secret in production, and any variable can be read from a file instead by appending _FILE to its name. Note that the original kutt.it domain is no longer owned by the project.
Stars
11,081Forks
1,506Last commit
9 days agoRepository age
9 yearsLicense
MITVersion
3.2.6Repository
thedevs-network/kutt
Auto-fetched from GitHub .
Open source alternatives similar to Kutt:
Stars
Forks
Last commit
Stars
Forks
Last commit
Stars
Forks
Last commit