Skip to content

Open source · self-hostable · AGPL-3.0

Short links that
answer to you.

A privacy-first URL shortener you actually own. Shorten, protect and measure every link — on your own server, with no one watching over your shoulder.

By shortening a link you accept our Terms and Privacy Policy.

dashboard

https://example.com/2026/spring-campaign?utm_source=…

opn.onl/spring
1,284
clicks
37
today
18
countries
Built with Rust/React 19/PostgreSQL/Self-hosted/No ads

Everything, no upsell

The whole toolkit, free forever.

No "pro" tier hiding the useful features. Everything below ships in the open-source core.

Rust-fast redirects

An Axum + Redis core resolves links in microseconds, built to index billions of rows.

Privacy by default

Click data stays on your instance. We don't sell it or follow visitors across other sites.

Honest analytics

Clicks, geography, devices and referrers — first-party, in real time, no sampling.

Branded QR codes

Every link ships with a QR — add your brand colour and logo, export PNG or SVG.

Password & limits

Gate sensitive links behind a password, cap total clicks, or schedule a window.

Expiring links

Set a start and an end. Campaigns turn themselves off when they should.

Your server, your rules

Up and running in one command.

Bring your own domain and host the whole stack — backend, frontend, database and cache — behind a single Docker Compose file. No vendor, no lock-in.

# clone & launch
git clone https://github.com/ysalitrynskyi/opn.onl
cd opn.onl
docker compose up -d

✓ api, web, postgres, redis — live

From long to shareable in three steps.

01

Paste a long URL

Drop in any link — query strings, UTM tags and all.

02

Shape it

Add a custom alias, a password, an expiry or a click cap. Optional, always.

03

Share & measure

Copy the short link, generate a QR, and watch the clicks land live.

For developers & agents

Built to be built on.

A clean REST API and an official MCP server ship with every account. Automate your links from code — or let an AI assistant like Claude do it for you. Hosted or self-hosted, same keys.

  • REST API + API keys
  • Official MCP server
  • OpenAPI / Swagger
  • Self-host ready
opn-mcp + api
# shorten from anywhere
curl -X POST l.opn.onl/links \
  -H "Authorization: Bearer opn_•••" \
  -d '{"original_url":"https://…"}'
mcp tools:shorten_urllist_linksget_link_statsget_qr_code+3

Own your links.
Start in seconds.

Free, open source, and yours to keep. Create an account or host it yourself today.

Disclaimer: opn.onl is not responsible for content accessible through shortened links. We actively remove malicious links when reported.Terms apply.