Skip to main content
OpenSourceAlternatives

Shlink

Open source · OSI-approvedStatus: unknownNew

Self-hosted URL shortener with custom domains and visit analytics

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?

Yes. Shlink is distributed under the MIT license, so the full self-hosted URL shortener is free to use, modify, and run. The only money path documented is an optional PayPal donation to the maintainer.[1][2]

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?

Download a pre-bundled dist file for your PHP version or run the official Docker image with environment-variable configuration. You need PHP 8.4 or 8.5 with the json, curl, pdo, intl, gd, and gmp/bcmath extensions when installing without Docker.[1][2]

Does Shlink track visits to short URLs?

Yes. Every redirect records an anonymized visit with geolocation, browser, and referrer data, and IP addresses are anonymized by default for data-protection compliance. Bot visits can be excluded from the statistics.[1][2]

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.

  1. 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.

  2. 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.

  3. shlinkio/shlink on GitHub

    official · Observed October 12, 2026

    Repository identity for shlinkio/shlink and the source of releases, README, license, and changelog evidence.

  4. Shlink LICENSE (MIT)

    official · Observed October 12, 2026

    Verbatim MIT license text with the maintainer copyright, grounding the license and pricing-shape facts.

  5. 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.

  6. Shlink composer.json

    official · Observed October 12, 2026

    Package identity, MIT declaration, homepage, and Mezzio/Doctrine/Symfony dependency stack.

  7. 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.

Similar projects

Related projects with shared categories, technologies, or licensing.

Slugy

SlugyOpen

Open-source URL shortener with click, lead, and revenue analytics

Stars94
Commitjust now
LicenseMIT

Slugy is an MIT-licensed open-source URL shortener that creates branded short links with custom domains, QR codes, and click, lead, and revenue analytics.

Kutt

KuttOpen

Self-hosted open-source URL shortener with custom domains and link analytics

Stars11.1K
Commitjust now
LicenseMIT

Kutt is a self-hosted, MIT-licensed URL shortener with custom-domain support, per-link passwords and expiry, private click statistics, and a REST API.

Wakapi

WakapiOpen

Self-hosted, open-source backend that turns WakaTime heartbeats into coding statistics.

Stars4,448
Commitjust now
LicenseMIT

Wakapi is a free, open-source, self-hosted service that turns WakaTime editor heartbeats into coding statistics and dashboards.

WR.DO

WR.DOOpen

Self-hosted short links, temporary email, and file storage on your own domain

Stars2,287
Commitjust now
LicenseMIT

WR.DO is an open-source platform for short links, temporary email, file storage, and subdomain management on your own domain.

Hackatime

HackatimeOpen

Free open-source dashboard that turns editor heartbeats into coding stats.

Stars214
Commitjust now
LicenseMIT

Hackatime is a free open-source coding time tracker by Hack Club that turns editor activity into dashboards and leaderboards.

OpenClaw

OpenClawAIOpen

Your own personal AI assistant for messaging, work, and the web

Stars391.7K
Commitjust now
LicenseMIT

OpenClaw is an MIT-licensed open-source personal AI assistant that runs its own gateway and works from WhatsApp, Telegram, Discord, and other connected channels.