App Links & assetlinks.json Helper
Create a valid assetlinks.json file for Android App Links domain verification, generate AndroidManifest.xml intent-filter XML with autoVerify="true", and get adb verification commands to test deep links instantly.
100% client-side · Private by design · No account required
1. App & Domain Details
Enter your Android package name, domain, and SHA-256 signing fingerprints.
2. Generated App Links Configuration
Copy your assetlinks.json file, AndroidManifest.xml intent-filter, and testing commands.
https://example.com/.well-known/assetlinks.json[
{
"relation": [
"delegate_permission/common.handle_all_urls"
],
"target": {
"namespace": "android_app",
"package_name": "com.example.myapp",
"sha256_cert_fingerprints": [
"14:6D:E8:D4:79:33:65:21:40:99:99:99:99:99:99:99:99:99:99:99:99:99:99:99:99:99:99:99:99:99:99:99"
]
}
}
]What Are Android App Links?
Android App Links are HTTP/HTTPS URLs that take users directly to specific content inside your Android app without showing an app-chooser dialog. They provide a seamless, frictionless user experience for login links, email invites, referral codes, and product sharing.
How Verification Works
When a user installs your app on Android 6.0+, the Android system contacts the domains declared in your AndroidManifest.xml intent-filter with android:autoVerify="true". It fetches the assetlinks.json file at https://<domain>/.well-known/assetlinks.json and verifies that the SHA-256 fingerprint in the statement matches the APK signing key.
Hosting Checklist for Zero Verification Errors
- No Redirects: The URL must respond with HTTP 200 directly. 301 or 302 redirects will break Android verification.
- Correct Content-Type: Your server must return
Content-Type: application/json. - HTTPS Only: Must be served over a valid SSL/TLS certificate.
- Play App Signing Key: Use the SHA-256 fingerprint from Google Play Console (App Integrity > App signing), not your local upload key.
Frequently asked questions
- What is the difference between Deep Links and Android App Links?
- Deep links (custom schemes like myapp://) open the app if installed, but display an annoying disambiguation dialog asking the user to choose between the browser and your app. Android App Links (https:// URLs verified with assetlinks.json) open your app instantly and seamlessly without any dialog.
- Where do I find the SHA-256 certificate fingerprint?
- If you use Google Play App Signing (mandatory for new apps), go to Play Console > Setup > App Integrity > App signing tab, and copy the "App signing key certificate" SHA-256 fingerprint (NOT the upload key). If signing locally, run keytool -list -v -keystore your_keystore.jks.
- Where must the assetlinks.json file be hosted?
- It must be served at https://yourdomain.com/.well-known/assetlinks.json with an HTTP 200 status code, Content-Type: application/json, over HTTPS, and WITHOUT any 301 or 302 redirects. Google Play verifies this file before enabling App Links.
- Can I include both Release and Debug fingerprints?
- Yes! You can put multiple SHA-256 fingerprints in the cert_fingerprints_sha256 array. Including both your Play App Signing key and your local debug keystore fingerprint ensures App Links work seamlessly during local development and testing.
- Why does Android App Link verification fail?
- Common reasons include: (1) Hosting assetlinks.json behind a redirect (e.g. http to https or www to non-www), (2) Using the upload key SHA-256 instead of Play App Signing key, (3) Blocking /.well-known/ in robots.txt, or (4) Missing android:autoVerify="true" on the intent-filter in AndroidManifest.xml.