Shlink

What Shlink is
Shlink is a free, open-source URL shortener that you run yourself to serve short links from domains you control. A single instance can use multiple short domains and custom slugs, including slugs with multiple segments. Its REST and command-line interfaces are joined by an official web client for managing multiple instances. Visit analytics can include location, browser, and referrer details; geolocation can use a GeoLite2 database. Visitor IP addresses are anonymized by default. Redirects can vary by location, device type, or language, and access to a URL can be bounded by a date range or maximum visit count. Shlink can import short URLs from services including Bitly and YOURLS. The maker provides a Docker image and a distributable package for self-hosting, with MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, and SQLite among the supported databases. The package requires PHP 8.3, 8.4, or 8.5 and the extensions named in its installation guide. A free hosted web client is available in a browser, alongside Docker and self-hosted client options. The project lists SDKs and integrations for PHP, JavaScript, Mac and iOS, GNOME Shell, PowerToys Run, and real-time event systems.
Who it suits
Shlink suits individuals or organizations that want short links served from domains they control and are prepared to self-host the service. It is also a fit for operators who need visit analytics, conditional redirects, or imports from Bitly or YOURLS.
What it does well
- Use multiple short domains and custom, multi-segment slugs.
- Track visit location, browser, and referrer.
- Set redirects by location, device type, or language.
- Limit URL access by date range or visit count.
- Import existing short URLs from Bitly and YOURLS.
- Supports five listed database options.
What to know first
- The URL shortener is self-hosted and requires deployment.
- The distributable package requires PHP 8.3, 8.4, or 8.5 and extensions.
- Disabling IP anonymization removes the instance's GDPR compliance claim.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Shlink | Open-source, self-hosted URL shortener · MIT license | Free |
As shlink.io lists them, read 12 Oct 2026. The maker's own page has the final word.
Getting started
- Open the Shlink website and choose Docker or the distributable package for self-hosting.
- Choose a supported database for the instance.
- For the package route, provide PHP 8.3, 8.4, or 8.5 and the required extensions.
- Configure the instance and domains you want it to serve.
- Use the REST or command-line interface, or connect a web client to manage instances.
- For HTTPS with RoadRunner or Docker, configure a reverse proxy with an HTTPS certificate.
Verdict
Choose Shlink if you want a free, self-hosted shortener with custom domains, analytics, and conditional redirects. Look elsewhere if you do not want to operate a self-hosted service or configure its deployment environment.
Questions
How much does Shlink cost?
The listed Shlink plan costs nothing. It is open source under the MIT license.
Does Shlink require self-hosting?
The URL shortener is self-hosted. The web client has a free hosted browser option as well as Docker and self-hosted options.
Which databases does Shlink support?
Supported databases include MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, and SQLite.
What analytics does Shlink provide?
It tracks short-link visits, including location, browser, and referrer. Geolocation can use GeoLite2, and visitor IP addresses are anonymized by default.
Can Shlink create conditional redirects?
Yes. Dynamic redirects can use geolocation, device type, or language; access can also be limited by a date range or maximum visits.
What does the distributable package require?
It requires PHP 8.3, 8.4, or 8.5 and the PHP extensions listed in the installation guide.
Facts from Shlink's own pages
- API access
- Yes · shlink.io, 21 Sept 2026
- Bulk link creation
- Yes · shlink.io, 21 Sept 2026
- Custom domains
- Yes · shlink.io, 21 Sept 2026
- Database support
- Supported databases include MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, and SQLite. · shlink.io, 12 Oct 2026
- Deployment
- The maker offers a Docker image and a distributable package for self-hosting; Docker images are published on Docker Hub and GitHub Container Registry. · shlink.io, 12 Oct 2026
- Domains and slugs
- One Shlink instance can serve multiple short domains and supports custom slugs, including multi-segment slugs. · shlink.io, 12 Oct 2026
- Events
- Real-time updates can integrate with Mercure, RabbitMQ, or Redis Pub/Sub. · shlink.io, 12 Oct 2026
- Geo targeting
- Yes · shlink.io, 21 Sept 2026
- Imports
- Shlink can import existing short URLs from services including Bitly and YOURLS. · shlink.io, 12 Oct 2026
- Integrations
- The maker lists official PHP and JavaScript SDKs, Short Menu for Mac and iOS, a GNOME Shell extension, PowerToys Run, and an iOS shortcut. · shlink.io, 12 Oct 2026
- Interfaces
- Shlink provides REST and command-line interfaces, plus an official web client for managing multiple instances. · shlink.io, 12 Oct 2026
- Privacy
- Visitor IP addresses are anonymized by default, and disabling that behavior removes the instance's GDPR compliance claim. · shlink.io, 12 Oct 2026
- Redirects and access
- Dynamic redirects can use geolocation, device type, or language, and URL access can be limited by date range or maximum visits. · shlink.io, 12 Oct 2026
- Runtime requirement
- The distributable package requires PHP 8.3, 8.4, or 8.5 and the required PHP extensions listed in its installation guide. · shlink.io, 12 Oct 2026
- Security configuration
- For HTTPS with RoadRunner or Docker, the documentation describes using a reverse proxy with an HTTPS certificate; the operator configures that proxy. · shlink.io, 12 Oct 2026
- Visit analytics
- It tracks short URL visits, including location, browser, and referrer, and can geolocate visitors using a GeoLite2 database. · shlink.io, 12 Oct 2026
- Web client hosting
- The Shlink web client has a free hosted option that runs in the browser, as well as Docker and self-hosted options. · shlink.io, 12 Oct 2026
- What it does
- Shlink is a self-hosted URL shortener that serves shortened URLs under domains you control. · shlink.io, 12 Oct 2026
Where Shlink stands on Freedom251
- URL shorteners#6 of 156
- Link Management Tools#6 of 21
- Custom Url Shortener Software#8 of 27
