# Deep Link Tester > Test and debug deep links for iOS, Android, and web. Validate deep link URLs and preview how they behave on different platforms — free. - Canonical: https://redirectly.app/tools/deep-link-tester - Site: [Redirectly](https://redirectly.app) — deferred deep linking for Flutter & React Native Validate and debug deep links for iOS, Android, and web. Parse deep link URLs, detect platforms, and identify issues before launching campaigns. ## Test your deep link This is an interactive tool: paste a deep link URL (iOS Universal Links, Android App Links, custom schemes like `myapp://`, or regular web URLs) at [https://redirectly.app/tools/deep-link-tester](https://redirectly.app/tools/deep-link-tester) and click "Test Link". The tool parses the URL into its components (scheme, host, path, query, fragment), detects the target platform (iOS / Android / Web), extracts UTM parameters, flags issues (spaces, http instead of https, custom schemes that won't work as Universal/App Links, missing campaign parameters), and shows the platform-specific redirect flow: **On iOS:** 1. Deep link tapped on iOS device 2. iOS checks if domain has AASA file (Apple App Site Association) 3. If associated → App opens directly to deep linked content 4. If not associated → Safari opens with fallback URL 5. UTM parameters preserved throughout the flow **On Android:** 1. Deep link tapped on Android device 2. Android checks if domain has assetlinks.json file 3. If verified → App opens directly to deep linked content 4. If not verified → Chrome/default browser opens fallback URL 5. UTM parameters preserved throughout the flow **On Web:** 1. Link tapped on web browser or device without app 2. Default web browser opens the URL 3. Content loads in browser with full UTM tracking 4. Analytics platform captures campaign data 5. User can manually install app from landing page ## Why test deep links? Deep link testing is essential to ensure your app links work correctly across iOS, Android, and web. Broken deep links frustrate users and damage your campaign performance. **Consequences of broken deep links:** - Users land on wrong screen or home page - Campaign tracking data is lost - Lower conversion rates and engagement - Poor user experience and app uninstalls **Benefits of tested deep links:** - Catch issues before launching campaigns - Ensure campaign tracking works correctly - Improve conversion rates and user experience - Verify platform-specific behavior **When to test deep links:** - Before launching any campaign with deep links - When creating new deep link schemes or routes - After updating your app's deep link configuration - When adding new campaign parameters or UTM values ## Common deep link issues ### Missing AASA File (iOS) The Apple App Site Association (AASA) file is required for Universal Links to work on iOS. Without it, links open in Safari instead of your app. **Solution:** Host an AASA file at `https://yourdomain.com/.well-known/apple-app-site-association`. Use the [AASA Validator tool](https://redirectly.app/aasa-validator.md). ### Missing assetlinks.json (Android) Android requires an assetlinks.json file to verify the association between your app and domain. Without it, App Links won't work. **Solution:** Host an assetlinks.json file at `https://yourdomain.com/.well-known/assetlinks.json`. Use the [assetlinks.json Validator tool](https://redirectly.app/assetlinks-validator.md). ### Using HTTP Instead of HTTPS iOS Universal Links and Android App Links require HTTPS. HTTP links won't work for verified deep linking and will fall back to browser opening. **Solution:** Always use https:// for deep links, not http:// ### Incorrect Scheme Name Custom scheme deep links (myapp://) must match exactly the scheme registered in your app's configuration. Typos or mismatches cause the app not to launch. **Examples:** - Your app registers: `myapp` - Deep link uses: `myapp://` — Correct - Deep link uses: `my-app://` — Won't work ### Spaces in URLs URLs with spaces are invalid and won't be recognized by browsers or apps. All spaces must be encoded as %20. **Example:** - Wrong: `myapp://products/summer sale` - Correct: `myapp://products/summer%20sale` ## How to debug deep links Follow these steps to identify and fix deep link issues: ### Step 1: Test with the Deep Link Tester Paste your deep link URL into this tool to see if it parses correctly and check for obvious issues. Look for: - Invalid URL format - Missing or incorrect components - UTM parameter capture issues ### Step 2: Verify Platform Configuration For iOS: Check if your AASA file is properly configured and accessible — [validate your AASA file](https://redirectly.app/aasa-validator.md). For Android: Check if your assetlinks.json file is properly configured and accessible — [validate your assetlinks.json](https://redirectly.app/assetlinks-validator.md). ### Step 3: Test on Real Devices The best way to test deep links is on actual iOS and Android devices. Install your app and try tapping the deep link from various sources (email, SMS, browser, etc.). **Note:** Some deep link functionality (like Universal Links on iOS) only works when tapping links from external apps or browsers, not when testing in Xcode. ### Step 4: Check App Logs Review your app's logs to see if the deep link is being received by your app and parsed correctly. Add logging to your deep link handling code: ```javascript // In your app's deep link handler console.log('Received deep link:', url); console.log('Parsed parameters:', params); console.log('UTM source:', params.utm_source); ``` ### Step 5: Verify Analytics Integration Make sure your analytics SDK is properly initialized and configured to capture deep link parameters. Test a deep link and check if the UTM data appears in your analytics dashboard. ## Related tools and guides - [Validate: AASA File Validator](https://redirectly.app/aasa-validator.md) - [Validate: assetlinks.json Validator](https://redirectly.app/assetlinks-validator.md) - [Build: Deep Link Generator](https://redirectly.app/tools/deep-link-generator.md) ## Frequently asked questions ### How do I test a deep link? Paste your deep link URL into this tester tool, click "Test Link", and the tool will analyze it. It will show you the parsed URL components, detected platform, and any potential issues. ### What are common deep link issues? Common issues include: using http:// instead of https://, missing AASA file for iOS, missing assetlinks.json for Android, incorrect scheme names, spaces in URLs, and missing app configuration. ### What is an AASA file? The Apple App Site Association (AASA) file is a JSON configuration file that you host on your server at /.well-known/apple-app-site-association. It tells iOS that your app is associated with your domain, enabling Universal Links. ### What is assetlinks.json? The assetlinks.json file is an Android configuration file that you host on your server at /.well-known/assetlinks.json. It tells Android that your app is associated with your domain, enabling App Links. ### Why isn't my deep link opening the app? This can happen for several reasons: the app is not installed, the deep link scheme is not registered in the app manifest, the domain is not verified for Universal Links/App Links, or there's a URL encoding issue. Use this tester to identify the problem. --- Full site index for AI agents: https://redirectly.app/llms.txt