Skip to content

Free tool

assetlinks.json validator

Check a domain's assetlinks.json the way Android's App Links verifier reads it, and see what Google's Digital Asset Links API says about it.

What this checks

  • The file is at /.well-known/assetlinks.json, over HTTPS, with a 200, no redirects and Content-Type: application/json.
  • It's a JSON array with a statement granting delegate_permission/common.handle_all_urls to an android_app.
  • Each package name is valid and each SHA-256 fingerprint is 32 colon-separated uppercase hex bytes.
  • Google's Digital Asset Links API agrees.

Questions

Which SHA-256 fingerprint goes in assetlinks.json?
The certificate that signs the APK users install. With Play App Signing that's Google's app signing key, shown in Play Console under App integrity, not your upload key. Add your debug key too if you test debug builds.
How do I see whether Android verified my domain?
On Android 12 and later, run adb shell pm get-app-links <package>. Each domain shows verified, or the reason it isn't. You can re-run verification with adb shell pm verify-app-links --re-verify <package>.
Why does a redirect break verification?
Android's verifier fetches https://<domain>/.well-known/assetlinks.json and doesn't follow redirects. A redirect from the bare domain to www, or from http to https on a CDN, is enough to fail.
Do I have to host this file myself?
Not with DeepLinkNow: it builds assetlinks.json and apple-app-site-association for your link domain from your app settings, with the fingerprints you enter in the dashboard.

Let DeepLinkNow host it for you

DeepLinkNow serves assetlinks.json and apple-app-site-association for your link domain, and any path on it works as a deep link, even across an install.

    assetlinks.json validator for Android App Links | DeepLinkNow