Make a link open the app, without breaking it for everyone else.
Paste a profile, video or track link. This shows you which form actually opens the app, which one dead-ends when the app is missing, and exactly what a tap does on iOS and Android either way. Everything runs in your browser.
The interactive tool loads with this page and runs entirely in your browser.
Most deep link generators hand you a worse link than the one you had
The standard version of this tool takes a platform and a username and glues them into something like instagram://user?username=name. It looks technical, so it feels like an upgrade. It is not. A custom scheme is a private address that only means something to one app, and a browser asked to open one it does not recognise has nowhere to go. No page, no app store, usually a dialog saying the address is invalid. The plain web link you started with would at least have loaded the website.
That failure is invisible to the person who built the link, because they have the app. It only shows up in the numbers, as a bio link with taps that never become anything.
The https link usually is the deep link now
iOS Universal Links and Android App Links let an app claim its own web addresses. Instagram tells Apple and Google that it handles instagram.com, so when someone taps an instagram.com link on a phone with the app installed, the operating system routes it to the app before a browser ever opens. Same URL, no app, and it loads the website instead.
This is the part worth internalising: the routing already happened, at the operating system level, using the ordinary link. There is nothing to generate. For almost every platform this tool knows about, the correct answer to "how do I make my link open the app" is that it already does, and swapping in a custom scheme actively removes the fallback that makes it safe.
The three forms, and when each is the right one
The https link. Opens the app when it is installed, the website when it is not. This is what belongs in a bio, a caption, an email, a QR code, or anywhere else a stranger might tap it. It is the only form that cannot dead end.
The custom scheme. Opens the app and nothing else. It is the right choice in exactly one situation: a link inside a context where the app is guaranteed to be present, such as a button in your own native app, or an internal shortcut on a device you control. It is the wrong choice anywhere the public can reach it.
The Android intent. The intent:// spelling is the one genuinely useful generated artifact, because it carries S.browser_fallback_url, a fallback address baked into the link itself. It opens the app if present and loads the page you nominated if not. The catch is that it only means anything in Chrome on Android. On iOS it does nothing at all, and other Android browsers ignore it. Use it as an enhancement for a known Android audience, never as your only link.
The in-app browser is the thing that actually breaks bio links
A link in an Instagram bio is almost never opened in Safari or Chrome. It is opened in Instagram's own browser, a stripped down web view running inside the app. TikTok, Facebook and several others do the same. Those web views are more restrictive than a real browser about handing control to other apps, which makes a custom scheme least likely to work in precisely the place a bio link is most likely to be tapped.
It is worth knowing this even beyond deep linking, because the same web view is why people report being logged out on your site, why some payment flows stumble, and why analytics look different for social traffic than for everything else.
Some schemes cannot be built from a public link at all
This is where generators quietly produce garbage. Several platforms address content internally by a numeric ID that never appears in the public URL.
Facebook's fb:// scheme wants the numeric ID of a person or page, and a vanity address like facebook.com/yourbusiness does not contain one. Instagram's media scheme wants an internal media ID, not the shortcode in an /p/ link. TikTok's profile scheme wants a user ID, not the handle. A generator that emits a scheme for any of these is concatenating the wrong value into the right shape, and the result opens the app to nothing.
This tool refuses in those cases and tells you which ID is missing, rather than returning a link that looks finished.
You cannot detect whether someone has the app
The obvious idea is to try the scheme, wait a moment, and send anyone still on the page to a fallback. It was a common trick and it no longer works reliably. Browsers throttle timers on backgrounded pages, so the check fires late or not at all, and iOS shows a confirmation dialog that pauses everything while the person decides. The usual result is a visible flash of an error, or a redirect that fires after the app already opened, which yanks people back out of it.
Nothing running in a web page can see the list of installed apps, and that is a deliberate privacy boundary rather than a gap. Fallback has to be handled by something that already knows the answer: the operating system, through App Links, or Chrome, through the intent fallback. Both are listed above.
A short version
Put the https link in your bio. Keep the custom scheme for places you control, where the app is certain to be there. Add the Android intent form only if you have a specific reason and a mostly Android audience. If a tool offers you a scheme for a Facebook page or an Instagram post, it is guessing, and the link will not work.
Deep link generator by platform
The same generator, pre-filled with a sample link for one platform, and what each form does there.
Instagramprofiles get https, instagram://user and an intent; posts and reels get https and the intent but no scheme, and why the bio browser matters.
TikTokwhy the https link is the deep link, no TikTok scheme, and what to do with vm.tiktok.com and /t/ short links.
YouTubevideos, Shorts and channels, what the clean link drops, and the unconfirmed vnd.youtube scheme.
Spotifythe spotify: URI Spotify documents, built from the ID in your link, plus the kinds and short links it won't read.
Telegramtg://resolve exactly as Telegram documents it, bot start values the generator drops, and private invites.
Snapchatthe add link, an unconfirmed snapchat://add scheme, and Snapchat's own ban on intent links in ads.
Twitchthe channel link, an unconfirmed twitch://stream scheme, and the twitch.tv pages Twitch keeps out of its app.
LinkedInprofiles and company pages, the sign-in wall no link fixes, and LinkedIn's own terms on deep links.
Facebookwhy fb:// needs a number your link lacks, shown from Facebook's own page source, plus https and the intent.
WhatsAppwa.me as WhatsApp documents it, the undocumented phone parameter in the scheme, and the number format that breaks links.
Trace a link's full redirect chain.See every hop in a redirect chain and catch dropped UTM tags and click IDs before they cost you attribution.
Questions
What is a deep link?
A link that opens a specific place inside an app rather than the app's home screen or a website. Tapping a deep link to a profile lands on that profile in the app. In practice, on a modern phone, an ordinary https link to that profile does the same thing, because the app has claimed its own web addresses with the operating system.
Do I even need a deep link generator?
For the platforms here, mostly no, and that is the useful finding rather than a dodge. The https link already routes into the app. The reason to run a link through this is to see the custom scheme and the Android intent form, and to find out whether the platform you are linking to is one of the ones where a scheme cannot be built at all.
Why does my custom scheme link do nothing for some people?
Because they do not have the app. A custom scheme is a private address with no fallback, so a browser that cannot resolve it has nowhere to send them. That is the single biggest reason to keep the https link as your public one.
What is the intent:// link for?
It is the Android form that opens the app and falls back to a real web page when the app is missing, because the fallback address is carried inside the link. It only works in Chrome on Android and is inert on iOS, so treat it as an addition rather than a replacement.
Why will this not build a scheme for a Facebook page or an Instagram post?
Both address content by an internal numeric ID that the public URL does not contain. A vanity Facebook URL has no ID in it, and the shortcode in an Instagram post link is not the media ID the app expects. Any tool that emits a scheme for these is concatenating the wrong value, and the link opens the app to nothing.
Can a link detect whether the app is installed and redirect?
No. Web pages cannot see installed apps, by design. The old approach of trying the scheme and redirecting on a timer is unreliable now because browsers throttle timers on backgrounded pages, so it commonly fires after the app has already opened and pulls the person back out.
Why do links in my Instagram bio behave differently?
They open in Instagram's in-app browser rather than Safari or Chrome. That web view is more restrictive about handing off to other apps, so custom schemes are least reliable in exactly the place a bio link is most likely to be tapped. It is also why logins and some checkout flows behave oddly for social traffic.
Is anything I paste here uploaded?
No. The whole tool is string parsing in your browser, with no request to any server, which is also why it cannot confirm that a profile or video actually exists. It reads the shape of the URL, not the thing behind it.
Can you give me an example of a deep link?
The YouTube link https://www.youtube.com/watch?v=dQw4w9WgXcQ is one: with the YouTube app installed it opens the video in the app, and without it the video loads on youtube.com. The app-only version, vnd.youtube://dQw4w9WgXcQ, opens the YouTube app and nothing else, so it fails for anyone who does not have it. This tool also gives you the Android intent:// form, which opens the app in Chrome on Android and falls back to the youtube.com page.
Give your bio link a brain.
Build your page, watch who converts, free to start.