The ink is final.The destination isn’t.

Every Inkhop code prints a short redirect instead of a destination. Repoint it when the campaign changes, and the menus, posters, packaging and business cards already out in the world all follow.

No accountNo cardEvery code can go dynamic later

Stamped

inkhop.io/r/spring-menu

PatchedFPODemonstration code

Points at

cafe-hoxton.example/menu-spring.pdf

Same ink0 repoints0 reprints

Form 1Inkhop dynamic QRPlates C M Y KTrim to the sheet

One address in the ink. Any destination behind it.

A printed code cannot be edited, so Inkhop never prints a destination. It prints an address that belongs to you forever and keeps the destination on this side of the paper.

  1. Final

    What goes to the printer

    Print-resolution SVG for the printer, PNG for everyone else. Error correction climbs to H the moment a logo lands, coverage is capped, and you are warned before you send something that will not scan.

  2. Stamped

    inkhop.io/r/spring-menu

    Globally unique, and never reused — not even after you delete the code. A reprinted flyer can never route to somebody else's link, because nothing else is ever issued that address.

  3. Patched

    Yours to move

    Repoint it, pause it, or send it somewhere else entirely. The hop is a 302 that is never cached, because a destination that is meant to move must never be remembered by a browser.

Form 2Redirect · 302 · no-storeSlug permanence · forever

What comes off the press

One workspace does the designing, the exporting and the measuring, because the same person is answerable for all three.

A code that carries your ink

Try it

Colour, module and corner style, logo embedding, and a printed call-to-action frame. Error correction is raised to H whenever a logo lands, and coverage is capped so a branded code still scans.

SCAN ME

Ink

Module

Analytics a redirect can actually produce

Totals, uniques, and a time series, broken down by country and city, device, operating system, browser and language. Uniques come from a first-party cookie plus a hash that rotates daily, so nothing follows a person from one day to the next.

Scans by country

FPO · sample
  • Australia
  • United Kingdom
  • United States
  • Germany
  • New Zealand

Read like a control strip: every step is a patch that either printed or did not. Country and city come from platform headers at the edge — never from an IP address Inkhop keeps.

Print-ready, both ways

Vector SVG for the printer's workflow and a print-resolution PNG for the client who just wants a file. Same code, same slug, same ink.

A dead code still talks

A scan arriving at a paused or deleted code is recorded, not dropped. It is the only proof the printed material is still out there — so it becomes a reactivate prompt, not a lost visitor.

Free codes are real codes

The free generator issues genuine dynamic codes with no account. Subscribing unlocks reading and changing what is already being recorded. It never asks you to reprint.

What a scan can honestly tell you

Everything on the left is something the redirect hop genuinely observed. Everything on the right is a number Inkhop could have guessed and does not.

Where a figure cannot be truthfully derived, the product shows its absence rather than an estimate. That is also why there is no cookie banner: there is nothing in here to consent to.

Recorded

  • Total scans
  • Unique devices
  • Time of scan
  • Country
  • City
  • Device type
  • Operating system
  • Browser
  • Language

Not recorded

  • Who you are
  • Age or gender
  • Raw IP address
  • User agent string
  • Third-party trackers
  • Anywhere else you went

Send something to the printer you can still change tomorrow.

SCAN ME
Artwork · sent once, never again

Form 5Free tier · uncappedPaid tiers assigned by hand until billing lands

Inkhop

Dynamic QR codes with analytics that respect privacy. Print it once, point it anywhere, and read only what a scan honestly produced.

InkhopC M Y KNo raw IP · no third-party trackers© 2026