Free & open source

One QR code
for both stores

Scan on iPhone — goes to the App Store.
Scan on Android — goes to Google Play.
No subscriptions. Runs on your machine. Works forever.

Generate QR ↗ see how it works
npm install -g appqr

How it works
Prerequisite — one time only

Download the redirect.html ↓ file and place it anywhere on your website. Note the URL where you placed it — for example https://myapp.com/go/redirect.html. If you don't manage the website yourself, your developer can do this in under 5 minutes.

Then whenever you need a QR code
1
2
Enter your App Store URL, Play Store URL, and the redirect URL from the prerequisite step
3
Generate and download your QR code. iPhone users land on the App Store, Android users on Google Play

vs everything else
Others
AppQR
Smart device redirect
paid only
free
Monthly subscription
$15–40/mo
none
Works if provider shuts down
Separate Apple & Google params
AI agent / MCP support
Your data on their server
always
never

Ready to start?

Generate your first QR code

No account. No install. Open the generator in your browser and get a QR code in two minutes.

Open campaign generator →

Privacy & telemetry

AppQR counts how many times it is used. That is all.

When you run a command, one number goes up on a server. No details about you, your app, or your campaign ever leave your machine. Here is exactly what happens — and what does not.

The exact payload sent to the server
{ "event": "qr_generated" }

One field. One value. The server receives this, increments a counter by one, and discards everything else — including your IP address, which is never stored.

Sent
Which command was run
setup, campaign, etc.
Whether run by a human or an AI agent
detected via terminal type
Never sent
✗  Your IP address
✗  Your App Store or Play Store URLs
✗  Your campaign parameters
✗  Your app name or ID
✗  Your machine, OS, or Node version
✗  File paths or output directories
The five counters — what they tell us
installed
How many developers have the tool
Fires once, on the very first run on a machine. Never again.
setup
How many apps are using AppQR
Fires each time a new app runs setup for the first time.
human_run
How often developers use it directly
Fires when run from an interactive terminal — a real person typing a command.
agent_run
How often AI agents are using it
Fires when run from CI or a non-interactive environment — a signal of agent adoption.
qr_generated
Total QR codes generated
Fires on every successful generation. Tells us how actively the tool is being used.
Opt out

Don't want to send anything at all? Set this environment variable. AppQR will skip every ping silently.

export APPQR_NO_TELEMETRY=1

Don't take our word for it — read the telemetry source code ↗. It is 50 lines. Everything described here is visible in plain sight.