Online Tool Store Online Tool Store

Deep Link Builder

Build universal links, custom-scheme and Android intent:// URLs with a browser fallback, plus apple-app-site-association and assetlinks.json files.

🔒 This tool runs entirely in your browser. Your files are never uploaded to a server.

Developer

Deep Link Builder

Runs locally

Used to build the custom-scheme link. Start it with /. Each segment is percent-encoded automatically, so spaces and Unicode are safe.

Generated link(s)

Scan with a phone to test the selected link on a real device.

Server association files (optional)

Universal Links and App Links only work once one of these is hosted on your domain over HTTPS.

iOS — apple-app-site-association

/.well-known/apple-app-site-association

Android — assetlinks.json

/.well-known/assetlinks.json

Nothing here is uploaded. Files are generated in your browser from the fields above — you still need to host them on your own domain for Universal Links or App Links to work.

How the Deep Link Builder works

  1. Choose the link type - universal link, custom scheme, Android intent URL, or all three at once. Universal links are the modern default and degrade gracefully.
  2. Set the in-app path and the equivalent web URL, which should show the same content, then add any query parameters.
  3. For an intent URL, add your Android package name; the web URL is folded in as the browser fallback so users without the app land on your page rather than an error.
  4. Copy any single link with the button beside it, or Copy all to take the whole set - each button copies the bare URL, never the label.
  5. Scan the QR code to open the generated link on a real device - that's the only reliable way to test it. When "All formats" produces more than one link, use the "Link to test" dropdown above the QR code to pick which one it (and Download QR) encodes.
  6. If you're setting up Universal Links or App Links, fill in your Team ID/Bundle ID or package name and certificate fingerprint to generate the association file your server needs to host. Pick the modern or legacy apple-app-site-association shape depending on how far back you support iOS.
  7. Test on a device with the app installed and one without - the second case is the one that breaks.

FAQ

How do I create a deep link for an app?

Pick the link type, set the in-app path and the equivalent web URL, and add any query parameters. The tool builds the universal/App Link, the custom-scheme URL and the Android intent:// URL from those fields, then generates the apple-app-site-association and assetlinks.json your server has to host before the platform will hand the link to your app.

Universal link or custom scheme?

Universal links, wherever possible. A custom scheme like myapp:// fails silently with an error page when the app is not installed, while a universal link simply opens the website.

Does this generate an Android intent:// URL?

Yes. Choose "Android intent:// URL" (or "All formats with fallback") and supply a scheme and package name. The output follows Chrome's documented syntax - intent://host/path#Intent;scheme=...;package=...;end - and adds S.browser_fallback_url, percent-encoded, when you fill in a web fallback so users without the app land on your page instead of an error.

Why does my deep link not open the app?

Usually the association file - apple-app-site-association or assetlinks.json - is missing, unreachable, or served with the wrong content type. Both platforms fetch it over HTTPS and cache the result. For intent:// URLs specifically, Chrome will only launch an activity that is exported and carries the android.intent.category.BROWSABLE filter.

What is deferred deep linking?

Sending a user who does not have the app to the store, then routing them to the right screen after install. It needs a service to carry that state across the install, which a plain link cannot do - so this tool does not claim to, and no purely client-side builder can.

Where exactly do I host the generated association file?

Apple documents /.well-known/apple-app-site-association, with no file extension; assetlinks.json goes at /.well-known/assetlinks.json - Android does not check the site root. Both must be served over HTTPS with a valid certificate, as application/json, with no redirects, or the platform will not trust them.

Which apple-app-site-association format should I use?

The modern one, which is the default here: a details entry with an appIDs array and a components array whose "/" key matches the path. That is the shape in Apple's current documentation and it works from iOS 13 onward. Switch to the legacy appID + paths format only if you still support iOS 12 or earlier.

How do I test a deep link on both Android and iOS?

Scan the generated QR code with each device's camera - that opens the real link the way a user would tap it. Always test twice: once with the app installed (it should open the app) and once without (it should fall back to the web URL). Note that phone cameras generally only follow https:// links, so the QR is most useful for the universal link rather than a custom-scheme or intent:// URL.

How do I test the Android intent link separately from the Universal Link?

Set Link type to "All formats with fallback" so every format renders at once, then use the "Link to test" dropdown above the QR code to choose which one it - and the Download QR button - encode: the Universal/App Link, the custom scheme, or the Android intent:// URL. Scan or download that QR for the specific format you want to check on a device.

How we compare

FeatureOnline Tool StoreDigia Deep Link GeneratorURLgeniusLinkTwin
Every link format side by side, not one platform at a time One platform per tabPaste a URLPaste a URL
Builds the Android intent:// URL with a browser fallback Hosted serviceHosted service
Generates apple-app-site-association and assetlinks.json Hosted serviceHosted service
apple-app-site-association in Apple's current appIDs + components shape Hosted serviceHosted service
QR code to test the link on a real device Not shown
Works without an account
Runs entirely in your browser, with no hosted redirect in the link

URLgenius and LinkTwin are hosted services: you paste a URL, they mint a link on their domain and route the click. That is a different trade - an account, and their redirect sitting in the middle of your traffic. Digia is the closest free client-side builder, and now that this tool emits intent:// URLs too, the remaining difference is that it also writes the association files both platforms actually verify against - in the appIDs + components shape Apple currently documents.

Explore related tools

Embed this tool

Paste this on your own site — it stays free, and every file still stays in your visitor's browser, not yours or ours.