Deep Link Generator

Generate deep links, iOS Universal Links, and Android App Links with all the configuration files and code snippets you need to implement them.

Ad Space

How Deep Link Generator Works

Generate deep links for iOS Universal Links and Android App Links. Build and validate deep link URLs with parameters for your mobile app. Customize your options in the form above and the tool generates your result instantly in your browser — ready to download, copy, or share.

What Are Deep Links and Why Do They Matter?

Deep links are URLs that navigate users directly to specific content within a mobile application rather than simply opening the app's home screen. They are essential for mobile marketing campaigns, push notification engagement, social media sharing, and seamless user experiences across web and app platforms. Without deep links, users who tap a link would land on a generic page or the app store, creating friction and reducing conversion rates.

Types of Deep Links Explained

There are three main types of deep links used in mobile development. Custom scheme links use a proprietary protocol like myapp://product/123 and are the simplest to implement but do not work if the app is not installed. iOS Universal Links and Android App Links use standard HTTPS URLs that work both as web links and app links. When the app is installed, the operating system intercepts the URL and opens the app directly. When the app is not installed, the URL opens in a web browser as a normal webpage, providing a graceful fallback experience.

How to Use This Deep Link Generator

Select your link type from the dropdown menu to generate the appropriate deep link format along with all the configuration files you need. For custom scheme links, you will receive the URL format plus the required Info.plist and AndroidManifest.xml configurations. For Universal Links and App Links, the tool generates the AASA file for iOS and the assetlinks.json file for Android, which must be hosted on your web server at specific paths. The Flutter option generates configuration for both platforms along with the routing code needed to handle incoming deep links in your Dart code.

Testing Deep Links on Simulators and Devices

Testing deep links requires different approaches for each platform. On iOS, you can use the xcrun simctl openurl command to open a deep link in the simulator, or use Safari on a physical device to test Universal Links. On Android, the adb shell am start command lets you trigger deep links from the command line. For Flutter projects, you can test on both platforms using the platform-specific commands. The generated output includes the exact test commands for each platform so you can verify your implementation immediately. All processing happens entirely in your browser with no data sent to any server.

Frequently Asked Questions

What is the difference between a deep link and a Universal Link?

A deep link is a general term for any URL that navigates to specific content inside a mobile app. A Universal Link is Apple's specific implementation that uses standard HTTPS URLs. When the app is installed, iOS opens the app directly. When the app is not installed, the URL opens in Safari as a regular web page. Universal Links require an apple-app-site-association (AASA) file hosted on your web server and Associated Domains configured in Xcode.

Do I need a backend server for deep links?

Custom scheme deep links (like myapp://path) do not require a server. However, iOS Universal Links and Android App Links require you to host verification files on your web server. iOS needs an apple-app-site-association file at /.well-known/apple-app-site-association, and Android needs an assetlinks.json file at /.well-known/assetlinks.json. These files prove to the operating system that your app is authorized to handle URLs from your domain.

How do I handle deep links when the app is not installed?

Universal Links and App Links automatically fall back to opening the URL in a web browser when the app is not installed. For custom scheme links, you need to implement deferred deep linking, which typically involves redirecting through a web page that detects whether the app is installed and either opens the app or redirects to the app store. Many developers use services like Firebase Dynamic Links or Branch.io for this, or implement their own redirect logic on a landing page.

Can I use deep links with Flutter apps?

Yes, Flutter supports deep linking on both iOS and Android. You need to configure the native platform files (Info.plist for iOS and AndroidManifest.xml for Android) and then handle the incoming URLs in your Dart code using packages like go_router, auto_route, or the built-in Navigator 2.0 API. The Flutter option in this tool generates all the configuration and routing code needed for both platforms.

How do I test deep links during development?

On iOS Simulator, use the terminal command xcrun simctl openurl booted followed by your deep link URL. On Android Emulator, use adb shell am start with the appropriate intent flags and your URL. For physical devices, you can paste the link into Notes (iOS) or a messaging app and tap it, or use the browser address bar for Universal Links and App Links. Always test both the installed-app and not-installed scenarios.