Explainer

App Store QR Code for iOS and Android

One QR code that opens the App Store on an iPhone, Google Play on Android, and your website on a laptop.

Daniel VSeptember 3, 20265 min read

Create a dynamic QR code, open Routing, and hit the App download preset. Free, no sign-up, and both store links stay editable after you print.

Why a plain QR code cannot do this

A QR code is just an encoded string. Point it at apps.apple.com/app/id123456 and that is what every scanner gets, including the 40 to 70 percent of your audience on Android depending on your market. Apple's listing does show a web page to non-iOS visitors, so nothing looks broken, but an Android user who wanted your app now has to search for it by name, which is exactly where installs leak away.

A dynamic QR code encodes a short link you control instead. When someone scans it, the server sees which operating system asked, picks the matching destination, and forwards them. Same printed pattern, different outcome per person, and both destinations remain editable.

Set it up in four steps

  1. Create a dynamic QR code with your website as the destination. That becomes the desktop fallback, so put a real page there, not a store link.
  2. Open Routing on the code and click App download preset. Two rules appear, one for iOS and one for Android.
  3. Paste your App Store URL into the iOS rule and your Google Play URL into the Android rule, then save. Apple documents the canonical listing URL format under link to your app on the App Store.
  4. Scan it with an iPhone and an Android phone before you print anything. Two minutes of testing beats a reprint.

Rules are evaluated top to bottom and the first match wins, so if you later add a country rule, put the more specific rule above the more general one.

Where this earns its keep

  • Packaging and product inserts. The print run outlives your release schedule. A code printed before the Android build shipped can gain the Play link the day it launches.
  • Posters, stands and table tents. One code and one line of text instead of two codes and an explanation of which is which.
  • Conference and event handouts. Point the same code at a post-event page once the event is over rather than binning the leftovers.
  • A replacement for a dead link. Firebase Dynamic Links did platform routing until it shut down in August 2025, and a lot of printed material still points at links that no longer resolve.
  • Moving off a paid one-link service. If you already pay for this, see how it compares with Onelink.to, including the way to switch without reprinting the code you have already handed out.

Limits worth knowing before you print

  • This is platform routing, not deep linking. It sends people to a store or a page; it does not open a particular screen inside an app that is already installed, and it does not attribute installs to a campaign. For that you configure Universal Links on iOS and App Links on Android, on your own domain.
  • Detection reads the operating system the scanner reports. An unusual in-app browser can report something unexpected, which is why the fallback destination should always be a page that makes sense to anybody.
  • Every scan redirects straight through, on every plan, with no interstitial page in the way.
  • Links are on the toolember.com short domain; a custom branded domain is not available yet.

One code for both stores

10,000 free dynamic codes with routing rules, unlimited scans, editable anytime, no sign-up.

Create an app download QR code

App Store, Google Play and Firebase are trademarks of their respective owners; this page is not affiliated with any of them.

Frequently Asked Questions

Can one QR code open the App Store on iPhone and Google Play on Android?▾
Yes, but not with a plain QR code. A plain code encodes one URL, so it can only ever open one store. You need a dynamic code that checks what the scanner is running and then sends it to the matching store, with your website as the fallback for anyone on a desktop. That decision happens on the server, not in the QR pattern, which is why the same printed code can behave differently for different people.
How do I make one?▾
Create a dynamic QR code with your website as the destination, open Routing on it, and apply the App download preset. Paste your App Store URL into the iOS rule and your Google Play URL into the Android rule. The code is ready to print immediately, and both URLs stay editable afterwards.
What happens if someone scans it on a laptop?▾
They get whatever you set as the code’s main destination, normally your product page. Sending a desktop visitor to an App Store listing is a dead end for them, so the fallback matters more than it looks.
Will it open the app directly if it is already installed?▾
Not by itself. Opening an installed app at a specific screen is deep linking, which needs Apple Universal Links or Android App Links configured on your own domain, plus app-side handling. Routing sends people to the right store or page; it does not reach inside an installed app, and it does not attribute installs.
Can I change the store links after the code is printed?▾
Yes, that is the point of a dynamic code. Edit a rule and every printed copy immediately follows the new URL. It also means a code printed before your Android release can gain the Play link later without a reprint.
Should I use one QR code or two?▾
One, in almost every case. Two codes side by side force the reader to work out which one is theirs, and half of a small poster or box panel is spent on the choice. One routed code with a short “Get the app” label reads faster and gives you a single number to measure. Two separate codes only make sense when you deliberately want separate counts per platform and have the space.
Does it show which platform people scanned from?▾
Yes. Every scan records which rule matched, along with device, OS, country and city, so the iOS versus Android split is a figure you can read rather than an assumption. Viewing the full report is a Pro feature, but the data is recorded on every plan from the moment the code exists.