Guides
Most QR codes open a browser, not the app, so scanners land signed out. Here is how to make a QR code that opens the native app, free.
5 min
TL;DR. A normal QR code contains a plain URL, so scanning it opens a browser. If you want the scan to open Spotify, Amazon, WhatsApp or your delivery app, the QR needs to contain a deeplink rather than a raw URL. Generate the deeplink first, then the QR from it. Free, and the printed code keeps working because the routing happens on the link side.
This is the fix most people get backwards, so the order of operations matters.
Why your current QR opens a browser
A QR code is just a container for text, usually a URL. The scanner reads the URL and hands it to the phone, which opens it in the default browser. Nothing in the QR itself says which app should handle it.
So if you print a QR pointing at your Spotify track, the scan opens the Spotify web player rather than the app. Your scanner is signed out, saving and following are awkward, and the whole point of putting a code on physical material is lost.
The right order of operations
Generate the deeplink first. Then generate the QR code from the deeplink, not from the original URL. The QR now contains a link that knows how to reach the native app, which means the routing logic lives in the link rather than in the code.
This has an important practical consequence. Because the intelligence is on the link side, a printed code keeps behaving correctly even as app behaviour changes, and you do not have to reprint anything.
Setting it up
Copy the destination you want people to reach, a track, a product, a chat, a menu, a booking page.
Paste it into the deeplink generator on OpenUp.
Add a readable slug, useful because people sometimes type the link instead of scanning.
Generate the QR code from that deeplink.
Test the printed or on screen code by scanning it with a second phone before you print anything at volume.
Where this matters most
Restaurant tables and packaging, where the goal is an order in the delivery app. Merch and gig posters, where the goal is a stream in the music app. Market stalls and business cards, where the goal is a message in WhatsApp or a purchase in a marketplace app. Event wristbands and stage screens, where the goal is a ticket purchase in the moment.
In all of those cases the scanner has the app installed and is signed in, which is exactly the advantage a browser throws away.
What changes when someone scans
For someone scanning your code | Normal QR | QR built from a deeplink |
|---|---|---|
Contains | A plain URL | A deeplink |
Opens | Default browser | Native app |
Signed in | No | Yes |
Action completed | Harder | Easier |
If the app is missing | Web page | Web fallback |
Needs reprinting if behaviour changes | Possibly | No |
The bottom line
The QR code is not the problem and it is not the fix. What the QR contains decides everything. Put a deeplink inside it and the scan lands where the action is easy, on a code you only print once.
Frequently asked questions
Can I convert an existing QR code? Not the printed one. Generate a new code from a deeplink.
Does the QR need to be dynamic? The routing happens in the link, so the code itself stays the same.
Can I track scans? Yes, through the per link statistics on the underlying link.
What if the scanner has no app? Web fallback.
Is it free? Yes.
Last updated: September 2026. Written by the OpenUp.to team.
Internal links qrcode, deeplink generator
View more articles
Learn actionable strategies, proven workflows, and tips from experts to help your product thrive.




