What Is a Deeplink? Universal Links, App Links and URI Schemes Explained
Short answer
A deeplink is a URL that opens one specific screen inside an installed app — a track, a profile, a checkout — instead of a website. iOS calls the modern version Universal Links, Android calls it App Links, and the older form is a custom URI scheme such as spotify://.
"Deeplink" gets used for three different technologies that behave differently, fail differently, and matter to anyone putting a link in a bio. Here is the whole picture in plain language — no app development required.
What is a deeplink?
A deeplink is a URL that opens a specific place inside an app rather than the app's front door or a website. Tapping a normal link to a music service loads a web player. Tapping a deeplink opens the app, already logged in, on the exact track you meant.
The word "deep" refers to depth inside the destination: not "open Spotify", but "open Spotify on this album". That difference is the entire conversion argument — a visitor who lands in the app they already trust is one tap from following, buying or subscribing. A visitor who lands on a logged-out web page has to start over.
What is the difference between a deeplink and a normal link?
A normal link only names an address. A deeplink also carries an expectation about what should handle it. The operating system checks whether an installed app has claimed that address, and if one has, the app wins over the browser.
Everything else people call "link tools" sits at a different layer. A short link shortens. A redirect forwards. A tracking link measures. None of them decide whether an app or a browser opens — only the deeplink type does.
What is a URI scheme deeplink?
The oldest form. The app registers a custom protocol, and the URL starts with it instead of https:
spotify:track:4cOdK2wGLETKBW3PvgPWqT
twitch://stream/yourchannel
tg://resolve?domain=yourchannel
Simple, and it opens the app directly with no web roundtrip. Two real weaknesses, though:
- No fallback. If the app is not installed, nothing sensible happens — usually a silent failure or an error dialog. The visitor is simply stuck.
- No ownership. Any app can register any scheme, so a scheme is not a guarantee of who answers it. This is why Apple and Google both moved on.
What are Universal Links on iOS?
Apple's answer, and the current default on iPhone. A Universal Link is an ordinary https:// URL. The app proves it owns that domain by publishing a signed file at https://example.com/.well-known/apple-app-site-association listing the paths it claims. iOS caches that file when the app is installed.
The result is the best of both: the app opens if installed, and the same URL loads the web page if it is not. Nothing breaks, nothing needs a fallback of your own. The catch is that iOS only honours the hand-off in contexts it considers a real navigation — and an in-app browser is often not one of them.
What are Android App Links?
The same idea on Android. An https:// URL, verified by a assetlinks.json file at /.well-known/assetlinks.json plus android:autoVerify="true" in the app's manifest. Verified links open the app with no chooser dialog; unverified ones fall back to a "which app?" prompt or straight to the browser.
What is an intent:// URL?
An Android-specific syntax that says which app should handle a URL and what to do if it cannot:
intent://example.com/page#Intent;scheme=https;package=com.android.chrome;S.browser_fallback_url=https%3A%2F%2Fexample.com%2Fpage;end
Two things make this useful. The package parameter names a target app — that is how a page can ask for Chrome specifically instead of whatever webview it is trapped in. And S.browser_fallback_url gives an explicit escape hatch if that app is missing, which a raw URI scheme cannot do.
What is a deferred deeplink?
A deeplink for someone who does not have the app yet: they get sent to the store, install, open the app for the first time — and still land on the content you originally linked to. It is genuinely useful for app marketing, and genuinely more work: the intent has to survive the store visit, which needs an attribution service or SDK on the app side. If you are a creator linking to other people's apps, this is not your problem to solve.
Which deeplink type should you use?
Swipe the table sideways to see every column →
| Type | Fallback if app missing | Ownership verified | Best used for |
|---|---|---|---|
| Universal Link (iOS) | Loads the web page | Yes | The default for anything public |
| App Link (Android) | Loads the web page | Yes | The default on Android |
| URI scheme | None — fails silently | No | A last-resort attempt after the https link |
| intent:// (Android) | Yes, if you set one | Via the target package | Forcing a specific browser or app |
For almost everyone the answer is: link to the https:// URL the destination app publishes, and let Universal Links and App Links do their job. Keep the URI scheme as a second attempt, never as the only one.
Why do deeplinks fail inside Instagram and TikTok?
Here is the part that surprises people. You can pick the correct link type, and it will still fail — because of where it is tapped.
When someone taps a link inside Instagram, TikTok, Facebook or Threads, it does not open Safari or Chrome. It opens that app's own in-app browser, a webview the platform controls. In that environment the hand-off from web page to native app is usually blocked, along with payment sheets, passkeys and any session the visitor already had. So the Universal Link that works perfectly from a message, an email or a QR code quietly does nothing in the one place your whole audience actually taps it.
The fix is not a different link type. It is getting out of the webview first, into the real system browser, and letting the deeplink work the way it already does there. We wrote up exactly how that hand-off works — and which of the escape mechanisms still function — in the complete guide to escaping in-app browsers. If you just want to know whether your own link survives, the WebView test tells you in one tap.
Frequently asked questions
Is a deeplink the same as a short link?
No. A short link only shortens the address. A deeplink decides what opens: the app on the right screen, or a web page. The two are often combined, but shortening on its own changes nothing about where the visitor lands.
Do I need to build an app to use deeplinks?
No. You use the deeplinks the destination app already publishes. Spotify, Twitch, YouTube, Telegram and most large apps ship both a Universal Link and a URI scheme, so your job is to point at the right one and make sure the browser is allowed to hand off to it.
What happens if the app is not installed?
A Universal Link or App Link falls back to the equivalent web page, which is why they are the safer default. A raw URI scheme has no fallback and typically fails silently or shows an error, so it should never be the only thing you link to.
Why does the same deeplink work in Safari but not from Instagram?
Because Instagram does not open your link in Safari. It opens an in-app browser it controls, and that environment usually blocks the hand-off from a web page to a native app. The link is fine; the browser around it is not.
Make every tap open the real app.
Built for Deeplinking · Fundamentals — and every other platform. One plugwith.me link escapes the in-app browser and hands off to the native app — automatically.
Create your free link →