Free tool
Deep link tester
Does your link open the app, or a browser? See what happens when it's tapped in Instagram, WhatsApp, Gmail, Safari, Chrome and more — then try it on your phone. Free, no sign-up.
We read your domain's apple-app-site-association and assetlinks.json, then show where the link opens.
How it works
The same link, a different result in every app.
Paste a link
An https:// link (a Universal Link or App Link) or your app's own scheme, like myapp://product/42.
See where it opens
We read your domain's apple-app-site-association and assetlinks.json, then show the result in 12 apps and browsers.
Try it on your phone
Scan the QR code or DM yourself the test link. The page tells you which browser you're in and lets you tap the link.
In-app browsers, handled
CodeOnAir links don't dead-end in Instagram.
A CodeOnAir AppLink spots in-app browsers such as Instagram, Facebook, TikTok, LinkedIn and X, and shows a small page with an Open in app button — your URI scheme on iOS, an intent:// link on Android — and a Get the app button for people who don't have it yet. On phones everywhere else, it opens the app or the right store directly.
We host apple-app-site-association and assetlinks.json for you, and the link survives the install, so new users land on the screen they tapped. The Free plan includes 100 app links.
Questions
Why does my link open in Instagram's browser instead of my app?
Instagram opens tapped links in its own in-app browser, and Universal Links and App Links don't fire there. Your setup can be perfect and it still happens. What works is a page with an Open in app button: your app's URI scheme on iOS, an intent:// link on Android, with a store button next to it.
Why doesn't pasting the link into Safari open my app?
Typing or pasting a link into the address bar is direct navigation, and Universal Links never fire for it. Tap the link instead: paste it into Notes or send it to yourself in Messages, then tap it. A link to the same domain you're already on in Safari also stays in Safari.
How accurate is the table?
It follows Apple's and Google's documentation and Branch's table of how Universal Links behave in popular iOS apps, plus your domain's real files. Apps change how they open links between versions and settings, which is why many answers say usually or sometimes. Use the phone test to see what really happens on your device.
Android says App Links verify, but the link still opens the browser.
assetlinks.json only proves the domain trusts your app. Which paths open it is set by the intent filters in your app's manifest, and the SHA-256 in the file has to match the key that signed the installed build (with Play App Signing, the app signing key in Play Console). Run adb shell pm get-app-links your.package to see what the phone decided.
Is a custom scheme like myapp:// enough?
Not for links people share. Most apps don't turn myapp:// into a tappable link, and when the app isn't installed it does nothing or shows an error. Use https:// links with Universal Links and App Links, and use the scheme behind a button on a page, for in-app browsers.
Is the test page safe to send to someone else?
It only opens the link when you tap the button, shows the full link first, and refuses javascript:, data: and intent: links, private addresses, URL shorteners and links Google Safe Browsing flags. Nothing is stored: the link lives in the test page's address. It's made for testing your own links.
Going deeper: why links open in the Instagram browser, not your app, how to test deep links with adb, simctl and real devices, and the Universal Link & App Link Validator for every check on your domain's files.
Your first AppLink in five minutes.
Create an app, pick a subdomain, and share a link that opens your app. Try Growth free for 30 days — no card needed.