Shlink is a self-hosted URL shortener that lets you serve shortened URLs under your own domain.
The tool solves the problem of URL management without relying on third-party shortening services. It works by accepting long URLs through a REST API and generating shortened versions that redirect to the original targets. Users can deploy it on their own infrastructure, maintaining full control over their shortened links and the data they generate. The project is built on PHP using the Laminas and Mezzio frameworks, providing a lightweight foundation for the shortening service.
Shlink suits organizations and individuals who want to avoid external dependencies for URL shortening or need to maintain branded short links under their own domain. It works well for teams managing documentation, marketing campaigns, or any scenario where link ownership and privacy matter. The tool supports multiple database backends including MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, and SQLite, making it adaptable to different infrastructure setups. Docker deployment is available as a straightforward option, with configuration handled through environment variables. Self-hosted installation requires PHP 8.4 or 8.5 with specific extensions, and pre-built distribution packages are provided for each supported PHP version to simplify setup.
The project maintains active development with regular updates to support current PHP versions. Releases are automated through GitHub workflows that generate and attach distribution files. The codebase is built on established PHP frameworks and follows standard practices for dependency management through Composer. Documentation is comprehensive and searchable, covering both Docker and self-hosted deployment paths.