Open Source ยท MIT License

Your links. Your server.
Your rules.

OpenShort is a modern, privacy-first URL shortener you can deploy on your own infrastructure. Custom domains, analytics, Docker support โ€” all yours, forever free.

Long https://my-company.com/marketing/campaigns/summer-2025/newsletter-signup?utm_source=email&utm_medium=campaign
Short https://go.my-company.com/summer25
.NET 9
Modern backend
Angular
Reactive frontend
1 cmd
Docker deploy
MIT
Free forever

Everything you need, nothing you don't

A focused, production-ready URL shortener built for teams and developers who value control over their data.

๐Ÿ”—

Custom Domains

Use your own branded domain for short links. Create memorable URLs that reinforce your brand identity.

๐Ÿณ

Single-Container Deploy

One Docker Compose command and you're live. No complex setup, no external dependencies required.

๐Ÿ”

JWT Authentication

Secure, stateless authentication using JSON Web Tokens. Protect your dashboard and API endpoints.

โ†ฉ๏ธ

Flexible Redirects

Choose between permanent 301 and temporary 302 redirects depending on your use case and SEO needs.

๐Ÿ—„๏ธ

SQLite & MySQL

Ships with embedded SQLite for instant setup. Scale to MySQL for enterprise deployments with zero code changes.

๐ŸŽฒ

Collision-Resistant Slugs

Automatic retry mechanisms ensure unique slug generation even under high load โ€” no duplicates, ever.

๐Ÿ“Š

Web Dashboard

Full-featured Angular dashboard for managing all your links. Create, edit, and organize with ease.

๐Ÿ”’

Privacy First

Your data stays on your infrastructure. No third-party tracking, no data sharing, complete ownership.

โšก

ASP.NET Core API

High-performance Web API built on .NET 9. Fast redirects with minimal latency for the best user experience.

Up and running in minutes

OpenShort is designed for zero-friction deployment. No configuration files to edit, no databases to set up manually.

1

Clone the repository

Pull the source from GitHub and navigate to the project directory.

2

Run Docker Compose

A single command spins up both the API and the dashboard.

3

Set your password

On first startup, an admin account is created. Visit the dashboard and set your password.

4

Start shortening

Create links from the dashboard or via the REST API. Done.

docker-compose.yml
services:
  openshort:
    image: ghcr.io/emanueledeamicis/openshort:latest
    ports:
      - "80:80"
      - "8081:8081"
    volumes:
      - ./data:/app/data
    restart: unless-stopped
terminal
# Clone and start
git clone https://github.com/emanueledeamicis/openshort
cd openshort
docker compose up -d

# Dashboard โ†’ http://localhost:8081
# API        โ†’ http://localhost:80

Built on modern, proven technology

OpenShort uses a carefully selected stack that balances performance, developer experience, and ease of deployment.

.NET 9 Angular 21 Tailwind CSS v3 PrimeNG Entity Framework Core SQLite MySQL Docker ASP.NET Identity

Ready to take control?

Deploy OpenShort on your own infrastructure in minutes. No vendor lock-in, no subscription fees, no data sharing.