Getting your apps ready...
The self-hosted and PHP-based URL shortener application with CLI and REST interfaces
Categories:
Shlink is a self-hosted, open-source URL shortener that empowers users to create and manage shortened links under their own domains with advanced analytics and privacy controls.
Shlink is a robust, PHP-based self-hosted URL shortener designed as a privacy-respecting alternative to third-party services like Bitly or TinyURL. It allows you to serve shortened URLs on your custom domains while providing detailed visit tracking, custom slugs, and powerful integrations.
The project solves key pain points: dependency on external services that harvest user data, limited customization, and lack of advanced features like geolocation-based redirects or GDPR-compliant IP anonymization. By self-hosting, users retain full control over their links and analytics.
It's built for developers, self-hosting enthusiasts, sysadmins, and teams who value open-source tools, data sovereignty, and seamless API/CLI integration into workflows.
Shlink was developed to fill the gap in self-hosted shorteners by offering enterprise-grade features like real-time updates, multi-domain support, and bot detection in a lightweight, Docker-friendly package.
URL shortening with custom human-readable slugs (including multi-segment and emojis), tags for organization, and limited access by date/visits (flexible, brandable links with control)
Advanced analytics: anonymized visit stats, geolocation, browser/device detection, referrers, bot filtering, and dynamic redirects based on location, language, or device (actionable insights without privacy invasion)
API-first architecture with role-based API keys, full REST API for integrations, plus CLI for serverless management (easy extensibility for apps and scripts)
Progressive Web App (PWA) client for multi-instance management, beautiful charts, QR code generation (intuitive UI across devices)
Optional: Real-time updates via Mercure/RabbitMQ, imports from Bitly/YOURLS, multi-DB support
Frontend: React, TypeScript (shlink-web-client PWA, built with Vite)
Backend: PHP 8.4+, Mezzio (Laminas), Symfony Console, RoadRunner server
Database: MySQL, MariaDB, PostgreSQL, SQLite, Microsoft SQL Server
Cache/Locks: APCu, Redis/Valkey
Auth: API keys with granular roles
Hosting: Docker (official multi-arch images), self-hosted dist
This project is useful for:
Developers who want to ___ embed URL shortening and analytics via API into custom apps
Teams looking for ___ GDPR-compliant, self-hosted link tracking without third-party dependencies
Indie makers building ___ personal brands with custom domains and QR codes
Live demo: https://app.shlink.io
Last updated: 2026-03-24
Yes / Open Source
(100% free under MIT license; no paid tiers or limits.)
Yes — link to repository
https://github.com/shlinkio/shlink (core) and https://github.com/shlinkio/shlink-web-client (frontend)
Yes, by opening issues, submitting pull requests, or joining discussions on GitHub. With 23 contributors and 4.8k stars, the community welcomes improvements, bug fixes, and feature ideas.
Website: https://shlink.io
GitHub: https://github.com/shlinkio
Twitter/X: N/A (use GitHub for support)
Email: N/A (GitHub issues recommended)
Built with ❤️ and kept warm on WarmIndex.
pterodactyl.io
Pterodactyl is an open-source game server management panel built with PHP, React, and Go. Designed with security in mind, Pterodactyl runs all game servers in isolated Docker containers while exposing a beautiful and intuitive UI to end users.
openwebui.com
Run AI on your own terms. Connect any model, extend with code, protect what mattersâwithout compromise.
versionfeeds.com
Create your own RSS feeds packed with the latest releases of your favorite software.
pomerium.io
Pomerium enables clientless, secure connections to your applications without a VPN