Custom short links
Random or hand-picked slugs. Every link stays editable after the fact, so you can change the destination without reprinting anything.
Every link lives on r3x.site — with click stats, a QR code, an optional password and expiry date, and a REST API behind all of it. No ads, and nothing sold to anyone.
No account needed to try it. Create a free account to track clicks and edit links later.
Most shorteners stop at redirecting. This one handles the parts you actually run into — expiry, passwords, campaign tags, previews and an API.
Random or hand-picked slugs. Every link stays editable after the fact, so you can change the destination without reprinting anything.
Clicks over time, referrers, browsers, devices and countries. Bot and preview traffic is separated out, and visitor IPs are only ever stored as salted hashes.
Every link and bio page gets an SVG or PNG QR code, generated here rather than fetched from a third-party image service that could disappear.
Give a link a shelf life: expire it on a date, cap it at a number of clicks, or switch it off entirely. Perfect for time-boxed campaigns.
Put a link behind a password when it is not for everyone. The destination never appears in the page source until the password checks out.
Bearer-token auth, JSON in and out, pagination and rate limits. Create links from a deploy script, a Shortcut, or anything that speaks HTTP.
No onboarding wizard, no credit card, no "book a demo".
Drop any http or https address into the box. Add a custom slug if you want the link to read well, or let it pick one for you.
You get https://r3x.site/abc123 back instantly, along with a QR code. Copy it, print it, put it in a bio.
Every visit is recorded with its referrer, device and country, so you can see what is actually working.
Generate a bearer token, then create links, update destinations and pull click statistics straight from your own scripts. Errors come back as predictable JSON with the right status code — no guessing.
# Create a short link
curl -X POST https://r3x.site/api/v1/links \
-H "Authorization: Bearer $TINYLINK_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/a/long/path",
"slug":"launch","max_clicks":500}'
# → 201 Created
{
"data": {
"slug": "launch",
"short_url": "https://r3x.site/launch",
"qr": "https://r3x.site/qr/launch.svg",
"clicks": 0
}
}
Instead of picking which link goes in your profile, share one address that holds every one of them. Pick a theme, set an accent colour, add a photo, and reorder the blocks however you like.
Everything above runs on r3x.site, which means links you create here live on this domain — not one you control. If that matters to you, run your own copy: it is the same software, and then the domain, the database and the analytics are genuinely yours.
PHP 8.1 with SQLite or MySQL. No Composer, no Node, no build step and no daemon — upload the folder and it runs on standard shared hosting.
Your domain, your database, your analytics. Nothing leaves the server you put it on, and the links keep resolving for as long as you keep the domain.
Yes. There is no paid tier, no click quota, no ads and no card required. The software is open source too, so you can run your own copy at no cost beyond your hosting.
Not for links created here — those live on this site's domain. TinyLink is open source, though, so you can run your own copy and point it at any domain you control. Short links are served from whichever domain that install is configured with.
They would stop resolving, the same as with any hosted shortener — worth knowing before you print a short link on something permanent. You can export every link and its statistics through the API at any time, and if that risk matters to you, run your own copy so the links depend only on a domain you control.
Not in any way that identifies them. We record a salted hash of the IP address — never the address itself — plus a coarse browser and device label, the referring domain and a timestamp. There are no tracking cookies, no fingerprinting and no advertising networks.
Yes. The destination is editable at any time, from the dashboard or the API, and the short URL stays the same. This is why redirects are served as 302 rather than 301.
Only if you ask them to. You can set an expiry date, cap a link at a number of clicks, or switch it off manually. Left alone, a link lasts indefinitely.
PHP 8.1 or newer with PDO, and either SQLite or MySQL. No Composer, no Node and no build step — you upload the folder and it runs on standard shared hosting.
Yes — a REST API with bearer-token authentication covering links, bio pages and statistics, documented in full on the API docs page.
Free, no card, no ads. Create an account and your first link is live before you finish reading this.