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.
filebase.com
Build IPFS and AI apps on unified storage. Pin content, run dedicated gateways, and scale with AI-ready object storage.
mockaroo.com
A free test data generator and API mocking tool - Mockaroo lets you create custom CSV, JSON, SQL, and Excel datasets to test and demo your software.
neos.io
Neos - open source Content Application Platform
sirv.com
Sirv helps you and your team manage, transform, optimize and deliver digital assets for faster websites and apps. Increase your conversions with Sirv today.