Deep Link Generator

A deep link generator builds the links that open a specific screen in your mobile app. Enter your iOS and Android details and an in-app path, and this free tool outputs a custom-scheme link, an Android intent URL with a web fallback, a Universal Link and App Link checklist, and a QR code.

Generate your deep link

iOS

Android

Leave blank to reuse the iOS scheme.

Destination

Where people go if the app is not installed. Android falls back to the Play Store page if this is blank.

UTM Parameters

Add tracking parameters to identify your campaign source, medium, and performance. All parameters are optional.

Your links

iOS custom-scheme link

Fill in the fields to generate this link.

Android intent:// URL with browser_fallback_url

Fill in the fields to generate this link.

Web fallback URL

Fill in the fields to generate this link.

QR code

The QR code appears once the selected link is ready.

Universal Link and App Link checklist

  • iOS: host an apple-app-site-association file at https://your-domain.com/.well-known/apple-app-site-association. It must return 200 with a JSON content type and no redirects, and list your app ID and the paths the app opens.
  • iOS: add the Associated Domains entitlement applinks:your-domain.com to your app target.
  • Android: host assetlinks.json at https://your-domain.com/.well-known/assetlinks.json with your package name and the SHA-256 fingerprint of your signing certificate.
  • Android: add an intent filter for https://your-domain.com with android:autoVerify="true" in your manifest.
  • Serve a real page at the web fallback URL, so people without the app land somewhere useful.

Check the hosted files with the AASA validator and the assetlinks validator.

Create this as a Smler smart link

How it works

  1. Enter your iOS URI scheme and App Store URL or ID, and your Android package name and scheme.
  2. Add the in-app path, such as product/42, and a web fallback URL for people without the app.
  3. Optionally add UTM fields. They are added to the web fallback URL and to the in-app path query.
  4. Copy the custom-scheme link, the Android intent URL, or scan the QR code on a device.

Everything runs in your browser. The deep linking guide covers the full setup.

URI scheme vs Universal Link vs App Link

URI scheme: a custom prefix like myapp://. It works without hosted files, but any app can claim the same scheme, and it has no fallback when the app is missing.

Universal Link (iOS): a normal https link that opens your app when your apple-app-site-association file lists the path. Otherwise it opens in the browser.

App Link (Android): a verified https link, backed by assetlinks.json and an intent filter with android:autoVerify. Otherwise it opens in the browser.

What if the app isn't installed?

A custom scheme fails on iOS when the app is missing. The Android intent URL uses your web fallback or the Play Store page. Neither one remembers the link through the install. To open the right screen after a new install, see deferred deep linking.

Open the link on a device with the app installed. To check the hosted files and get adb and xcrun commands, use the deep link tester.

FAQ

What is a deep link?

A deep link is a URL that opens a specific screen inside a mobile app instead of the app home screen. It can use a custom URI scheme, such as myapp://product/42, or a standard https link that the operating system routes to the app.

Does this tool upload my app details?

No. The links are built in your browser from the values you type. Nothing is sent to a server and no login is needed.

What does the Android intent URL do?

The intent:// URL asks Chrome on Android to open your app by scheme and package name. If the app is not installed, the browser_fallback_url parameter sends the person to your web fallback URL. If you leave the fallback blank, the tool uses the Google Play page for your package.

Why is there no iOS fallback in the custom-scheme link?

A custom-scheme link such as myapp://product/42 has no fallback built in. If the app is missing, iOS shows an error or nothing happens. For a reliable fallback on iOS, use a Universal Link on your own https domain, which opens your web page when the app is not installed.

Do I need to host any files?

For Universal Links and App Links, yes. iOS needs an apple-app-site-association file and Android needs an assetlinks.json file, both under /.well-known/ on your domain. Custom-scheme links do not need either file. Smler can host both files per domain.

How do I check that a link works?

Open it on a phone with the app installed, or use the deep link tester to check the hosted files and get adb and xcrun commands.