What a short link should do, and nothing it shouldn’t.
Counted, not tracked
Every click adds to a tally. Nothing about the person is kept.
- Clicks per day for the last 7, 30 or 90 days, or all time, in UTC.
- Top referring sites (host only), countries, devices, browsers and operating systems.
- Known bots and link-preview crawlers are redirected but not counted.
- No IP addresses, raw user-agent strings or full referrer URLs are stored.
Temporary or permanent
Pick how a link behaves once it’s out in the world.
permanent · 301- Temporary links redirect with 302. Change the destination or the slug at any time, and every click counts.
- Permanent links redirect with 301, so browsers cache them for a day. They can’t be edited or made temporary again.
- Deleting a permanent link retires its slug forever; the address answers “gone” instead of pointing somewhere new.
Names you choose
Short links read like words, not noise.
- Custom slugs of 3 to 64 letters, numbers, hyphens or underscores. Case-sensitive.
- Leave it blank for a random seven-character slug.
- Search your links by slug or destination; copy any link in one click.
Sign-in options
The operator decides which doors are open.
- Email and password, Google and GitHub; connect several to one account.
- With SMTP configured, tiiny sends email verification and password-reset links.
- Sign-ups can be closed, and admins can verify, disable or remove accounts.
Self-hosting
One binary, one container, your domain.
- The dashboard is built into the binary; nothing else to deploy.
- Data lives in a local libSQL file, or in an embedded replica of a Turso primary.
- Daily link limits, blocked destination domains and stats retention are all settings.
Run it on your own server in a few minutes.