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
inkhop.io/r/spring-menu
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.
- 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.
- 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.
- 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 itColour, 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.
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.
Form 5Free tier · uncappedPaid tiers assigned by hand until billing lands