Skip to content
OneKiteSign inStart free

Never build another QR generator

There are hundreds of them, they are free, and they solve a problem that was solved in 1994. OneKite exists for what happens after the code is printed — which is where the actual work is, and where nothing was being done for the person who printed it.

The decisions behind it

A printed code is a promise

Someone puts your code on a menu, a window, a thousand flyers. That object cannot be recalled, so the scan must keep working no matter what happens to the account behind it.

How it holds up: The redirect path sits outside every plan check and outside every emergency switch in the system. There is no lever an operator can pull that stops a printed code from resolving — deliberately, and it is the one place with no off switch.

A code that does not scan is a poster that does nothing

Customisation is worth having right up until it costs you the print run. So the design is yours and the scannability is not up for negotiation.

How it holds up: Every template and every generated design is contrast-checked before it can be saved. Testing with a real decoder found that dot-shaped modules broke the three corner patterns a scanner uses to find a code at all — those corners are now always drawn solid, whatever shape you pick.

Most of your data is none of our business

Scan analytics should tell you which poster worked. They should not build a profile of the person who scanned it.

How it holds up: Raw IP addresses are never stored — only a hash with a salt that changes daily, so yesterday cannot be joined to today. There are no third-party analytics and no advertising scripts. Three cookies, all strictly necessary, which is why there is no consent banner. Export or delete everything from Settings without asking.

Money is never a float

Rounding errors in a currency are not a rare edge case; they are a thing that happens quietly until someone reconciles a statement.

How it holds up: Every amount in the system — plan prices, product prices, payments — is an integer in the currency’s minor unit. Paise, not rupees. The conversion happens once, at the edge, where a human types a number.

Nothing important waits on something unimportant

The scan is the product. Counting the scan is bookkeeping. Bookkeeping must never make the product slower.

How it holds up: Analytics are queued after the redirect has already been sent. A queue outage costs scan counts, never a scan — a trade made on purpose and written down as an accepted limitation rather than discovered later.

What OneKite is not

  • Not a QR generator with a dashboard bolted on. The code is the front door.
  • Not an ad network. Nothing here follows anyone across the web.
  • Not a platform that holds your work hostage — your data exports in one click and your codes keep resolving.

See whether any of that is true

One dynamic code, two static codes and a Studio page on the free tier, no card. More dynamic codes — the ones you repoint after printing — come with Pro.