Kutt - A Self Hosted URL Shortener
Kutt is a URL shortener you can self host with simple analytics, authentication and access control.
URL shorteners are for the most part, a thing of the past. Now, the most common use case is tracking clicks for marketing and analysis. You see these being used in bio sections on corporate social media pages as an example. Today we take a look at a self hosted solution called Kutt.
What is Kutt?
Kutt is a modern URL shortener with support for custom domains. Shorten URLs, manage your links and view the click rate statistics.
Kutt Key Features
- Free and open source.
- Custom domain support.
- Custom URLs for shortened links
- Set password for links.
- Set description for links.
- Expiration time for links.
- Private statistics for shortened URLs.
- View, edit, delete and manage your links.
- Admin account to view, delete and ban links.
- Ability to disable registration and anonymous link creation for private use.
- RESTful API.
- Can be used with ShareX
Kutt URL Shortener Prerequisites
There's a couple things you will need to make Kutt work.
- A domain or sub domain
- An SMTP provider (I recommend Mailgun)
Installing Kutt using Docker Compose
I found the easiest way to install Kutt is by cloning the Kutt Github repo and using Docker Compose. For a more detailed installation tutorial, you can watch this video by Awesome Open Source.
Kutt URL Shortener Settings
Taking a quick look at the settings page, here you can add more domain names, generate an API key, change your password and change your email address. That's it, it's a very basic settings page.
Making Kutt Private (Optional)
If you want your Kutt instance to be private, there are 2 env options you will need to change.
DISALLOW_ANONYMOUS_LINKS=true
DISALLOW_REGISTRATION=true
When logged out, you can still see the box to put links in to be shortened but when you try to create a short link, it will say "unauthorized" in red.
Generating a short URL with Kutt
Making a short URL is simple. Log in, paste your URL in the box and press the button to shorten it. You can also add other options such as a custom name, password, expiration time and description if you want.
Kutt Recent Shortened Links
At the bottom of the main page, you can see your most recent shortened links, how many clicks they have and when they were created.
Kutt URL Analytics
The Kutt URL analytics are pretty basic. Here you can see an example of one of my URLs that links to our Discord server.
Notice, Kutt does NOT track your IP or any sensitive data.
Final Notes and Thoughts
One of the biggest downfalls of URL shorteners is they can be used in malicious ways and I think that is why a lot of people stay away from them. They can be useful for tracking clicks and for me, that's about the gist of it. I don't really benefit from it otherwise in a public facing situation.
In a private, self hosted environment, one might use this to help them remember what and where things are hosted putting a use to the "custom address" advanced option. For me though, I'd rather use a self hosted dashboard for that type of thing.
Kutt works well for what it is! It's clean, minimal UI makes for easy navigation and ease of use.
If you find Kutt useful, be sure to give it a star on the Kutt Github repo!