Short links, shaped by you

Free, open source and ad-free. Visitors are counted, never tracked.

No account needed. Sign up free for custom aliases, visit limits, expiry dates and analytics.

Example data

Everything a link needs

Shortening works without an account. A free account adds the rest.

Link analytics

Clicks and daily unique visitors per link, with referrers, countries and devices, without storing who your visitors are.

QR codes

Pick colours and size, then download as PNG or SVG. Link analytics count scans apart from other clicks. Learn more about QR scans

Visit limits and expiry

Links switch themselves off after a number of visits or at a set time.

Password protection

Visitors enter a password before they are sent on.

Tags and search

Tag links and filter the dashboard by tag, status or date.

Campaign tracking

Add UTM tags to any link in a few clicks with a free account, so your analytics tool can see where visitors came from. Learn more about campaign tracking

Passkeys

Sign in with your fingerprint, face, screen lock or a security key. No password to type, and two-step verification works with them too. Learn more about passkeys

Bio pages

One page with all your links at hrva.cc/@yourname, for your Instagram, TikTok or any other bio. Every button is one of your checked short links. Learn more about bio pages

Also included: custom aliases, two-factor sign-in, Google Safe Browsing checks on every destination, and a way to see where a link goes before opening it. The public hrva.cc in numbers page shows how many harmful links are blocked and how fast reports are reviewed.

Private by default

Counting visits doesn't require knowing who your visitors are, so hrva.cc doesn't keep that.

No IPs stored
Link statistics count unique visitors with a one-way hash under a random key that changes every day.
Gone by morning
The hashes and the day's key are kept only in Redis and deleted a few hours after midnight. Daily counts stay.
Open source
The code is on GitHub, including the lines shown here.
Free, no ads
A non-commercial HrvaLabs project, built and run by one person in Croatia.
Read the privacy policy
UniqueVisitorCounter.javaView on GitHub
58public static String visitorHash(final byte[] salt, final ClickRequest click, final long urlId) {59    final var visitor = StringUtils.defaultString(click.clientIp()) + "\n" + StringUtils.defaultString(click.userAgent()) + "\n" + urlId;60    final var hmac = hmacSha256(salt).doFinal(visitor.getBytes(StandardCharsets.UTF_8));61    return Base64.getUrlEncoder().withoutPadding().encodeToString(Arrays.copyOf(hmac, HASH_BYTES));62}
The salt is 32 random bytes, made fresh each day and kept only in Redis until SALT_GRACE = Duration.ofHours(4) after midnight.

Shorten from your own code

Create an API key in your dashboard and send it in the X-Api-Key header. Links made over the API show up in your dashboard like any other.

Or let your AI assistant do it: connect hrva.cc/mcp

Create a short link
$ curl -X POST https://hrva.cc/api/v1/urls \
  -H "X-Api-Key: $HRVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"longUrl": "https://example.com/a/very/long/path"}'
// 201 Created
{ "shortUrl": "k3Fx9", "visits": 0, "active": true }

Questions

The short version of how hrva.cc works.

How do I shorten a URL?

Paste your long URL into the input field on the hrva.cc homepage and click Shorten. You can optionally set a custom alias, visit limit, or expiration date before shortening. No account required for basic use.

Is hrva.cc free to use?

Yes, hrva.cc is completely free to use. You can shorten URLs, set visit limits and expiration dates, and track analytics without any cost. Creating an account unlocks additional features like link management and detailed analytics.

Can I track how many people clicked my link?

Yes. Creating a free account gives you access to click analytics for every link you shorten, including total visit counts and per-link performance data. You can view all your links and their analytics from your dashboard.

How do expiration dates and visit limits work?

When shortening a URL, you can optionally set a visit limit (the link stops working after N visits) or an expiration date (the link expires at a specific time). Both features give you full control over your links.

What is a URL shortener used for?

A URL shortener converts long web addresses into short, shareable links. They are commonly used on social media, in emails, and in marketing campaigns to make links cleaner, trackable, and easier to manage.

Make your next link shorter

Free, with no ads. Sign up when you want aliases, limits and analytics.