no login · no cookies · works offline

apps & deep links

QR codes that open apps

How a QR code can open an app, land on a specific screen, or fall back to the App Store — and why all that lives at the destination, not in the code.

Can a QR code open an app? Yes — but the code isn’t the part that does it. A QR only stores text: dottr encodes the exact https:// link you paste and nothing else. Whether that link opens an app, loads a website, or sends someone to the App Store is decided at the destination — the app and its website config — not by the QR or the generator. So “making a QR code open an app” is really about pointing it at a link the app already knows how to catch.

The robust approach is the platform’s verified app-linking system. Both use ordinary https:// URLs, so the same link works whether or not the app is installed.

This is a two-sided setup the app owner controls. You can’t wire it up from the marketing side — the verification files live on the destination domain and the app has to claim the association.

What happens when the app isn’t installed

This is the nice part. Because it’s a real web URL, the same link just loads the website in the browser. The site can then show a button or redirect to the App Store or Google Play, where the person chooses to install.

To be clear: a QR code cannot silently force-install an app. The most any link can do is open the app if it’s there, or point someone at the store listing. There’s no mechanism to push an install without a tap.

The quick way when you don’t control the app: send each platform to its store

Universal Links and App Links are the robust route — but they’re a two-sided setup the app owner has to wire up. If you’re doing marketing for an app you don’t own, or you just can’t get the dev team to add those association files, there’s a faster option that needs nothing set up on the app or its website at all: point a platform-aware short link straight at the stores. Send iPhones to the App Store and Android phones to Google Play.

The link reads the visitor’s device from their browser (the user-agent) the moment they tap, and forwards each person to the right listing. Someone who already has the app taps Open; everyone else installs it in a tap. Many link shorteners offer this as device or mobile targeting — Bitly, Short.io and others — though it’s often a paid feature rather than a free one. One printed QR then does the sensible thing on both platforms, and you never had to touch the app.

Two honest caveats:

Skip the legacy myapp:// schemes

You’ll see old advice to encode a custom scheme like myapp://screen. Don’t, at least not for QR codes:

Apple, Google, and the deep-link vendors all now point to Universal Links / App Links for anything user-facing.

Remembering the screen through an install

Standard Universal/App Links do not survive an install. Scan with no app, install, launch — and you land on the app’s home screen, not the page you scanned. Carrying the intended screen through an install is called deferred deep linking, and it needs a third-party service or SDK — Branch, AppsFlyer (OneLink) or Adjust are the usual names.

It’s also less reliable on iOS than Android. Android can pass a referrer through the Play Store install; iOS has no equivalent and restricts device/IP fingerprinting, so it leans on probabilistic or clipboard-based methods. And don’t reach for Firebase Dynamic Links — Google shut it down in August 2025 and the links no longer resolve.

Common questions

Can a QR code force-install an app?

No. The most a scan can do is open the app if it’s already there, or drop someone on the store listing where they choose to install. There’s no mechanism — in the QR code or the link — to push an install onto a phone without a tap. Any “app QR code” that claims otherwise is misusing the words.

Why won’t my myapp:// QR code work?

Because a custom scheme like myapp://screen only works when that exact app is already installed — and phone cameras frequently won’t act on a scheme:// code at all. If the app is missing, the link just fails, usually with no web fallback. Encode a normal https:// link instead: it works whether or not the app is installed, and it’s what Apple and Google now recommend.

Does the app remember which screen I scanned before I installed it?

Not on its own. A standard Universal or App Link that sends you to install first will open the app’s home screen afterwards, not the page you scanned. Carrying that screen through an install is deferred deep linking, and it needs a third-party service (Branch, AppsFlyer, Adjust) — and it’s less reliable on iOS than Android.

Can one QR code open an app on iPhone and install it on Android?

Yes — with a platform-aware short link. It detects the device when scanned and sends iPhones to the App Store and Android phones to Google Play, where installed users tap Open and everyone else installs. It won’t land them on a specific screen, but it’s the quickest way to point one printed code at an app on both platforms.

The practical move

Point your QR at a short link you control, not the raw store or deep link. The printed code is fixed forever, but a short link can be re-aimed — swap the store target, or drop in a platform-aware open-or-install link that sends each phone to its own store, without reprinting a thing. Shorter links also draw a cleaner, sturdier code, and the redirect is what makes a static code behave dynamically.

Make yours at dottr — it’s free, runs in your browser, and nothing you paste ever leaves it.

Someone ask where you got this?

dottr this page

Drag to your bookmarks bar — then on any site, get its QR and add it to your wallet in a tap.