A fast, lightweight URL shortener with built-in Umami analytics. Self-hosted, privacy-friendly, no bloat.
Most URL shorteners ship with features you don't need. Umamurl takes a different approach:
- Umami analytics integration -- monitor redirects with your own self-hosted Umami instance
- Tiny footprint -- single binary, uses <15 MB RAM
- Fast -- Rust backend, SQLite database, instant redirects (no interstitial pages)
- Simple to deploy -- single binary, env vars for config
| Feature | Details |
|---|---|
| URL shortening | Random (adjective-name pairs or UIDs) or custom slugs |
| Umami analytics | Optional, configurable via env vars or admin UI |
| Link expiry | Automatic expiry after a chosen duration |
| Edit & delete | Modify or remove links after creation |
| QR codes | One-click generation for any short link |
| Password protection | Set via env var or configure from the UI on first launch |
| API key support | For CLI and programmatic access, supports Argon2 hashed credentials |
| Public mode | Let anyone shorten links, admin-only listing and deletion |
| Custom landing page | Serve your own HTML, admin dashboard moves to /admin/manage |
| Mobile-friendly dark UI | Responsive design with Tailwind CSS |
| ACID-compliant SQLite | WAL mode recommended for performance, configurable durability |
# Set minimal config
export password=changeme
export db_url=urls.sqlite
# Run
cargo run --manifest-path=actix/Cargo.tomlOpen http://localhost:4567. On first launch without a password env var, the UI will prompt you to set one.
Umami analytics can be configured from the admin settings (gear icon) or via env vars:
export umami_url=https://your-umami.example.com
export umami_website_id=your-website-id- Installation & configuration -- all env vars, building from source
- CLI & API usage -- curl examples, API key setup
- Umami integration is opt-in and self-hosted. No third-party services involved.
- User management. One password, one instance.
- Cookies, popups, newsletters. None of that.
- Started as a fork of
simply-shorten. - Adjective-name pairs come from Moby's name generator.
- Enable WAL mode for best performance.
- For >1000 links, use UID
slug_stylewithslug_lengthof 16+.