OpenSource-Hub
K

Kutt

10.7k stars·Developer Tools·SHA-256 checksum verified

A modern self-hosted URL shortener with custom domains, link statistics, and user management.

Smart Download

Visit Project Homepage

No installer available yet — head to the source repository

Self-hosted URL shortener with custom domains, click analytics, and admin panel.

Core Features

  • Custom domain support for branded short links
  • Set passwords, expiration dates, and descriptions per link
  • Built-in click analytics with detailed statistics
  • Admin panel for user and link management
  • Multiple database support (SQLite, PostgreSQL, MySQL)

What It Can't Do

  • You must set JWT_SECRET (a long random string) in production – the app won't run without it. 2. The original official domain kutt.it is deactivated; use kutt.to or your own domain. 3. Requires basic command-line and environment variable knowledge to deploy. 4. Custom domains need manual SSL setup if HTTPS is enabled.

Use Cases

  • Teams and individuals needing a private, branded URL shortener
  • Marketers who want to track link performance with custom domains
  • Developers integrating short link generation via API

Detailed Introduction

Kutt is a modern, open-source URL shortener built with self-hosting in mind. It supports custom domains, allowing you to brand your shortened links. Create and manage links with custom slugs, passwords, expiration dates, and descriptions. View detailed click statistics per link, manage users from an admin panel, and customize the appearance with themes. It offers a RESTful API for programmatic access, supports multiple databases (SQLite, PostgreSQL, MySQL), and can be deployed easily via Docker. With OIDC login support, you can integrate it with your existing identity provider. Kutt provides a clean, responsive dashboard for users to track and organize their URLs. It is ideal for individuals, teams, or organizations that need a private, brandable URL shortener without relying on third-party services.

Troubleshooting & FAQ (2)

Troubleshooting
Why are copied links prefixed with double 'https://' (e.g., https://https://example.com/link)?

This occurs when the domain configuration (DEFAULT_DOMAIN or CUSTOM_DOMAIN) includes a protocol like 'https://'. The application automatically adds 'https://' if CUSTOM_DOMAIN_USE_HTTPS is true, causing duplication. To fix, remove 'https://' from the domain value. Example: DEFAULT_DOMAIN=example.com and CUSTOM_DOMAIN_USE_HTTPS=true.

GitHub Issue #934
Troubleshooting
Why doesn't OIDC authentication work in Kutt v3.2.3?

OIDC support is not yet available in the latest stable release (v3.2.3). It is only present in the main branch. To use OIDC, build the Docker image from the main branch instead of using the official release image. Track the repository for an upcoming release that will include OIDC.

GitHub Issue #1004

Tags

url-shortenerself-hostedlink-managementcustom-domainanalytics

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Step 1: Ensure Docker and docker-compose are installed

4

Step 2: Run `docker compose up` from the project root

5

Step 3: Visit http://localhost:3000 and create an admin account

Install Guide
  1. Step 1: Ensure Docker and docker-compose are installed
  2. Step 2: Run `docker compose up` from the project root
  3. Step 3: Visit http://localhost:3000 and create an admin account
File Integrity

Checksum not available

This project has not published a SHA-256 checksum on its GitHub Release page

SHA256 Checksum

No checksum available

Download directly from GitHub Releases and verify file integrity yourself

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

If deployed with Docker, run `docker compose down` to remove containers. Delete the project directory. For manual installations, delete the project folder and database files.

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseMIT
Last Updated2026-06-27 12:25:13
GitHub RepositoryOfficial Website

Having issues? Check the FAQ below

2 FAQs

Similar Projects