Chhoto URL
A tiny, fast self-hosted URL shortener written in Rust, with custom slugs, link expiry, hit counts, and an API.

Chhoto URL is a self-hosted URL shortener built for speed and a small footprint. The backend is Rust with Actix Web, the frontend is plain HTML and vanilla JavaScript, and links live in a local SQLite database. The scratch Docker image is under 6 MB compressed and uses under 15 MB of RAM in regular use, so it can run alongside other services on a small server.
It shortens any URL to a generated link, optionally accepts a custom slug, and supports automatic expiry after a chosen delay (capped at five years). Links can be edited after creation, carry custom notes, and are counted with a privacy-respecting hit counter; QR codes can be generated for sharing. The UI is mobile friendly with automatic dark mode, supports custom site titles and landing pages, and offers a public mode where anyone can add links while listing and deleting still require admin access.
Authentication uses a single admin password, an API key for JSON responses, or OIDC, and the frontend can be disabled entirely. A JSON API covers creating, editing, listing, and deleting links, and there is a separate official CLI app for Linux. The project deliberately omits tracking, user management, cookies, and paywalls; compared with Bitly, TinyURL, Short.io, Rebrandly, or Cutt.ly, it trades analytics dashboards and team features for full data ownership, no subscription, and practically no resource cost.
Frequently Asked Questions
How much memory and disk space does Chhoto URL need?
The scratch-based Docker image is under 6 MB compressed, the Alpine variant under 10 MB, and the process uses under 15 MB of RAM during regular use. Links are stored in a local SQLite database, so disk usage depends on how many links and notes you keep. A reverse proxy such as Caddy is recommended to terminate TLS, and enabling SQLite WAL mode is advised for better concurrency.
Can I use custom short links and make them expire?
Yes. If you leave the short link blank, Chhoto URL generates one from an adjective and name list; otherwise you can supply your own slug. Each link can have an expiry delay in seconds, capped at five years, with zero or an omitted value meaning it never expires. Links remain editable after creation, can carry notes, and have a hit counter and QR code.
What authentication options does it support?
A single admin password protects the web interface and can be supplied as a plain or hashed value, with Argon2 recommended. For automation, setting CHHOTO_API_KEY enables API-key authentication through the X-API-Key header and JSON responses. OIDC login is also supported, and public mode lets anyone create links while restricting listing and deletion to admins.
Is there an API or command-line client?
The documented HTTP API covers creating links (POST /api/new), editing, listing, deleting, and fetching version and site URL, and returns JSON when an API key is used. The docs include curl examples for every route, and a separate official CLI app is maintained for Linux. The API accepts a single link or an array to create multiple links at once.
Does it track visitors or require cookies?
No. Chhoto URL records only that a short link was hit, not who clicked it, and it does not use tracking scripts, cookies, user accounts, or newsletters. For safety, long links are limited to http, https, ftp, and magnet by default, with additional protocols enabled through CHHOTO_EXTRA_PROTOCOLS. Regular versioned backups of the SQLite database are recommended for important links.
OpenAltFinder Score
Project Details
Repository details
Updated 11/9/2026, 9:00:58 PM
View RepositoryRepository activity
Get the latest open source alternatives delivered weekly.
Discover tools that give you freedom from proprietary software.
Compare Chhoto URL with
Similar open source alternatives

Shlink
The definitive self-hosted URL shortener with analytics, QR codes, custom domains, and a powerful API.
Bitly
Kutt
Kutt is a modern, open-source URL shortener with custom domains, detailed click analytics, password-protected links, team management, and a clean developer API. Easy to self-host.
Bitly
Simple URL Shortener
Simple URL Shortener is a lightweight PHP URL shortener with MySQL or SQLite support, per-user history, an admin panel, REST API, and an easy self-hosted setup process.
Bitly
Syano
Self-hosted URL shortener with analytics, QR codes, and link-in-bio pages. A privacy-first open source alternative to Bitly.
Bitly
Dub
The open-source link attribution platform for short links, conversion tracking, and affiliate programs.
Bitly
Flink
A zero-config, FOSS URL shortener with QR code generation and OpenTelemetry support, built in ASP.NET Core.
Bitly



