2 apps TinyURL
Shlink screenshot thumbnail

Shlink

With over 5,100 GitHub stars and eight years of active development since 2016, Shlink has become the definitive self-hosted URL shortener for teams that need unlimited links, full visitor analytics, and complete data ownership without per-link pricing or monthly caps. The PHP backend built on the Mezzio framework with Doctrine ORM serves redirects through any number of custom domains on a single instance, generating unique short codes or accepting custom slugs including multi-segment paths and emoji characters. Every click is tracked with anonymized visitor data including geolocation by country, city, and coordinates, browser and operating system identification, referrer source, and device type classification, all stored in your choice of MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, or SQLite. Dynamic redirect rules route visitors to different destinations based on geolocation, device type, or browser language, enabling targeted campaigns from a single short URL. The REST API exposes every operation with OpenAPI documentation and an interactive sandbox at api-spec.shlink.io, while the CLI provides equivalent functionality for scripting and automation. The official progressive web app at app.shlink.io manages multiple Shlink instances from a single interface with URL creation, tag management, and detailed visit charts. Real-time event integration supports both Mercure and RabbitMQ for webhook-style notifications on new visits. Third-party imports migrate existing short URLs from Bitly and YOURLS with visit history preserved. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.

Deploy
Kutt screenshot thumbnail

Kutt

Built for self-hosting from the ground up, Kutt is a modern, MIT-licensed URL shortener: zero-configuration setup, no build step, and SQLite, PostgreSQL, or MySQL with optional Redis caching. Links carry real management features - custom slugs from a configurable alphabet (confusable characters like 0/O and l/1 omitted by default), password protection, descriptions, expiration times, and the ability to edit a destination URL without changing the short link already in circulation. Custom domains make branded short links first-class: add as many as you like and serve each under your own name instead of a third-party's. Private, per-link statistics track clicks, browsers, operating systems, and countries without logging visitor IPs or sensitive data. An admin page manages users and links instance-wide, and two environment flags (DISALLOW_REGISTRATION, DISALLOW_ANONYMOUS_LINKS) lock the instance down for private use; OpenID Connect login integrates with an existing identity provider. Automation runs through a documented REST API - create, list, delete, and pull stats - plus Chrome and Firefox extensions and ShareX compatibility for shortening from anywhere. Built with Node.js and React, deployed in one Docker container, it replaces Bitly with something you own: your domain, your analytics, and links that never die with a vendor.

Deploy