Shlink

A self-hosted URL shortener application that lets you create and manage shortened links under your own domain, with both command-line and REST API interfaces.

  • Other
  • Productivity
  • Tools & Utilities
A self-hosted URL shortener application that lets you create and manage shortened links under your own domain, with both command-line and REST API interfaces.

Platform availability

Available on 4 of 6 install platforms

Also on Docker Hub and GitHub

Health score

84/100 Excellent

Maintained
100last commit 18 days ago
Popular
755,318 GitHub stars
Easy to install
654 install platforms, install notes, Docker image
Light to run
801 GB minimum RAM, runs on ARM
How is this calculated?

A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). Factors without data are left out and the rest are rescaled.

Availability: platform listings confirmed today, links checked 10 days ago

GitHub stars
5,318
Open issues
23
Last commit
2026-09-21
Latest release
v5.1.7
License
MIT
Activity
declining

Checked 3 days ago - source: GitHub (shlinkio/shlink)

Resources & Compatibility

Minimum requirements: 1 GB RAM, 1 CPU core(s). ARM (e.g. Raspberry Pi) is supported.

Checked 10 days ago - source: Docker Hub image tags and published docs

First-install notes

  • Check Shlink is up after setup Open your Shlink health URL ending in /rest/health to confirm the service started. If it doesn't respond, your short links and web UI likely won't work until you fix the service or config. source
  • Make your link page reachable Short links are resolved through Shlink's public short-code page, so the web address and network port must be reachable by visitors. If they are blocked or misconfigured, clicking a short link won't take people to the intended page. source
  • Use your real domain for callbacks If you use the async API for visit notifications, replace the example shlink.io callback base with your actual Shlink URL. Otherwise new-visit and new-short-url events may not reach the tool you set up. source

Fetched 10 days ago - each note links to its source

Alternatives (10)

  • Beacons - Create a free, beautiful, and highly customizable link in bio website with Beacons.
  • Dub.co - Open-source link management with analytics, free QR code generation, custom domains, advanced audience targeting, team collaboration, and S…
  • Fli.so - Fli.so is a lightning-fast URL shortener built with SvelteKit and PocketBase.
  • Polr - Like everything else here, Polr is an open source and self-hostable web application.
  • TinyURL - Converts long URLs into short, secure links, supports branded domains, bulk shortening via API, link analytics, QR code generation, and das…
  • YOURLS - YOURLS is a free, open-source self-hosted URL shortener that lets you create shortened links on your own server, with analytics, plugins, a…
  • bit.ly - Shortens URLs, generates customizable QR codes, tracks clicks, offers branded domains, bulk management, analytics, browser extension, and A…
  • gupt - Encrypted chat, passwords, notes, bookmarks, and ephemeral sharing — with no phone number, no email, no account, and no central server.
  • hypermind - Hypermind is a decentralized, peer-to-peer deployment counter and ephemeral chat platform.
  • kutt - Kutt is a modern URL shortener with support for custom domains.

Checked 7 days ago - source: AlternativeTo

Common questions

How can I confirm Shlink has started and that short links are reachable?

Open the Shlink health endpoint to confirm the service started. The public short-code page and network port must also be reachable by visitors for links to resolve.

How should I configure async API visit-notification callbacks?

Use your actual Shlink URL as the callback base instead of the example callback base. Otherwise new-visit and new-short-url events may not reach the tool you set up.

Does Shlink include a separate web client for management?

An official Shlink web client uses the REST API to provide a web UI for handling multiple Shlink instances.

Where can I find guidance for using a reverse proxy with Shlink?

The Shlink documentation includes a Using a reverse proxy section under advanced topics.

Is there a Docker Compose approach for self-hosting Shlink?

A self-hosted community thread covers setting up Shlink using Docker Compose and adapting a containerized deployment.

Answers sourced from api-spec.shlink.io, api-spec.shlink.io, shlink.io, www.reddit.com

Community

Collected 4 days ago - public community threads