no login · no cookies · works offline

under the hood

How a short link actually works

A QR code just carries text. The interesting part is what that text points at. Point it at a short link and a tiny server gets to make decisions every time it's scanned. Here's the whole journey — scroll on.

Heads up: dottr itself is only the generator — it draws your code right here in the browser and never runs a server. This is how the short-link services we recommend (and the redirect product we're building) do their bit.

  1. Someone taps your short link

    They scan the QR or tap something like dottr.to/menu. To them it looks like any other link — but it doesn't point straight at your page.

  2. The request reaches a redirect server

    A raw URL points directly at the destination. A short link instead points at a tiny redirect server — that detour is where all the cleverness happens.

    Hang on — what's a server?

    Just a computer that's always switched on, sitting in a data centre waiting to answer requests. Your phone asks for a page; the server answers.

    Always on?

    Pretty much — no screen or keyboard, its whole job is to wait for requests and reply, day and night.

  3. It reads the slug

    The bit after the slash — menu — is the slug. The server pulls it off the request to know which link was tapped.

    Why “slug”?

    Old newsroom slang for a story's short name. On the web it just means the readable tail of an address — menu in dottr.to/menu.

  4. It looks the slug up in a database

    One quick lookup finds the record for that slug: the real destination URL, plus any rules you've set and a tally of scans so far.

    What's a database?

    Think of a giant, super-organised spreadsheet the computer can search in a blink. Each short link is one row (a “record”): the slug, where it points, who owns it, how many scans.

    How does it find the right row so fast?

    It keeps an index — like the index at the back of a book. Instead of reading every row, it jumps straight to the slug it wants.

    How does everyone only see their own links?

    There's a separate users table — one row per person. You sign in, and the system only hands back the records tagged with your account.

    Where's my password kept?

    Scrambled, never as-is. It's run through a one-way hash, so even the people running the service can't read it back.

    What decides what I can touch?

    Your role. A normal user only sees their own links; an admin can see more. The database checks your role before handing anything over.

  5. It reads the request headers

    Every request carries headers — including the User-Agent, which reveals the device, operating system and browser. The server gets to peek at that before deciding anything.

    What's a “User-Agent”?

    A little label every browser tacks onto its request describing itself — roughly “iPhone, Safari” or “Windows, Chrome”. Nothing you type; it's just along for the ride.

  6. It decides where to send you

    Now it can route by device: send iOS visitors to the App Store, Android visitors to Google Play, and everyone on a laptop to your website — all from the one printed code.

    Isn't that tracking me?

    Not really. Reading “this is an Android” to pick a destination is different from tracking, which means building a profile of you over time. Routing can happen without storing anything personal.

  7. It redirects — and counts the scan

    The server replies “go here”, the visitor lands on exactly the right page, and the scan is logged. Change the destination tomorrow and the same printed QR just follows along.

    What does “counts the scan” actually store?

    Usually just a tally — and maybe the time, rough region and device type. Aggregate numbers, not your name. (Exactly what's kept depends on the service.)

The payoff: one link, three destinations

📱 iOS→ App Store
🤖 Android→ Google Play
🖥 Desktop→ your website

The server read the User-Agent, matched the rule, and sent each visitor where it makes sense — from the single QR you printed.

Why that matters for your QR

One code, many behaviours

iOS, Android and desktop can each land somewhere different — without ever reprinting.

Change it anytime

The printed QR is permanent; the destination behind the slug isn't. Re-aim it in seconds.

You can see the scans

Because every tap passes through the server, it can count them — so you learn what actually worked.

honest bit

None of this happens on dottr's servers, because dottr doesn't have any — the code above is drawn in your browser. To get the redirect smarts, point your code at one of the short links we rate. A dottr redirect product is on the way.

▣  Make a QR code