Shlink is a self-hosted URL shortener Shlink is a self-hosted, MIT-licensed URL shortener that serves shortened links under your own domains. Built in PHP on Mezzio, Doctrine, and Symfony components, it offers a REST API, a command-line interface, and a web client for managing links, with anonymized visit statistics on every redirect.[1][2]
Quick verdict
The self-hosted shortener for branded domains Shlink is a strong pick for teams that want branded short links under their own domains with analytics they control. Its MIT license, Docker and dist-file installs, REST API, and redirect rules cover the core shortening job well; the cost is mandatory self-hosting, with SSO and support status undocumented.[1][2][3]
What Shlink can do
Shortening with custom slugs Generate random short codes or define custom human-friendly slugs, including multi-segment slugs, for branded campaign links.[1][2]
Multi-domain serving Serve several short domains from a single Shlink instance, reusing the same custom slugs across domains where needed.[1]
Visit analytics Track visits with location, browser, and referrer breakdowns, tag links for later analysis, and exclude bot traffic.[1]
Rule-based dynamic redirects Redirect visitors to different destinations based on geolocation, device type, language, or browser rules.[1]
API, CLI, and web client Manage everything through a fully featured REST API with scoped API-key roles, a command-line interface, and the official Shlink web client for multiple instances.[1][2]
Limits and real-time hooks Restrict links by date range or maximum visits, import existing links from bit.ly or YOURLS, and subscribe to events via Mercure or RabbitMQ integrations.[1]
Who Shlink fits
Teams wanting branded short domains Inference: organizations that want links under their own domains with campaign slugs and per-link analytics fit Shlink's documented multi-domain and tagging design.[1][2]
Developers automating link workflows Inference: the API-first design with key roles plus CLI and import tooling suits teams creating and managing links programmatically.[1][2]
Self-hosting Docker or PHP shops Inference: teams already running Docker or PHP 8.4/8.5 infrastructure with MySQL, Postgres, or SQLite can adopt Shlink with standard operational overhead.[1][2]
Limitations to weigh
Self-hosting is mandatory No official managed-hosting offering is documented; you must run the Docker image or dist file plus a database yourself.[1][2]
Moderate setup effort Inference: PHP runtime, extension, database, and environment configuration put setup above one-click SaaS, though Docker keeps it routine for operators.[1]
Unknowns preserved SSO support, enterprise SLAs, team-size positioning, and acquisition status are not documented, so they are recorded as unknown rather than assumed.[1][2]
Deployment and compatibility
Docker and dist-file installs Deploy via the official Docker image with env-var config or a dist file served by RoadRunner, FrankenPHP, or a classic web server.[1][2]
Five database engines Run on MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, or SQLite with the corresponding PDO driver.[1][2]
PHP 8.4 or 8.5 stack Requires PHP 8.4 or 8.5 with json, curl, pdo, intl, gd, and gmp/bcmath extensions, built on Mezzio, Doctrine, and Symfony components.[1][2]
Questions worth asking
Is Shlink free to use?
Which databases does Shlink support?
Shlink supports MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, and SQLite, with the matching PHP PDO driver for the engine you choose. SQLite suits small installs; the server engines suit busier ones.[1]
How do I install Shlink?
Sources and editorial review
Source research. Reviewed on October 12, 2026. Written by Sanjib Sah. AI assisted; reviewed by a human editor.
We have not run or tested this product.
- Shlink - The URL shortener
official · Observed October 12, 2026
Homepage positioning, install paths, MIT license, PHP stack, API/CLI/web-client management, and visit tracking used for identity, decision facts, and copy.
- Shlink features
official · Observed October 12, 2026
Full feature list: slugs, multi-domain, analytics, dynamic redirects, tags, API roles, Docker, anonymized IPs, third-party imports, bot detection, and database engines.
- shlinkio/shlink on GitHub
official · Observed October 12, 2026
Repository identity for shlinkio/shlink and the source of releases, README, license, and changelog evidence.
- Shlink LICENSE (MIT)
official · Observed October 12, 2026
Verbatim MIT license text with the maintainer copyright, grounding the license and pricing-shape facts.
- Shlink README
official · Observed October 12, 2026
PHP/database requirements, dist-file and Docker install paths, and the donate badge grounding deployment, stack, and sponsor facts.
- Shlink composer.json
official · Observed October 12, 2026
Package identity, MIT declaration, homepage, and Mezzio/Doctrine/Symfony dependency stack.
- Shlink CHANGELOG
official · Observed October 12, 2026
Active 5.x maintenance releases through 5.1.7, grounding the non-deprecated status.
Compared with these products
No explicit proprietary baseline is recorded.