Free tool

Deep link generator for your website app

Once your website is an app, links to your site — in emails, messages, search results — can open the app instead of the browser. That takes an intent filter in the app and a small JSON file on your domain. Fill in three fields and copy both.

Generate the App Links setup

Everything is generated locally. The SHA-256 fingerprint is optional — leave it blank to get the file with a placeholder.

Without https:// — just the host. Separate two with a comma to cover the bare and the www version.
The applicationId from the builder.
Leave empty to claim every link on the domain. Use a trailing * for a prefix.

Deep links, and why a website app wants them

Every link to your website that someone taps on a phone — in an email, a message, a search result — opens in the browser. Once your website is also an app, that is the wrong place: the visitor has your app installed, and the link opens a browser tab beside it. Android App Links fix this. When they are set up, tapping https://www.example.com/products/42 opens your app directly on that page, with no "open with" chooser.

It takes two things that have to agree with each other: an intent filter inside the app saying "I handle links on this domain", and a file on the domain — /.well-known/assetlinks.json — saying "this app, signed with this key, is allowed to". Android checks the file at install time and, if it verifies, routes the links without asking.

The three fields

Domain

The host exactly as it appears in your links. example.com and www.example.com are different hosts to Android: if your site answers on both, list both, and host the JSON file on both.

Package name

The applicationId you gave the builder. It has to match the installed app byte for byte, which is one more reason the package name can never change after publishing.

SHA-256 fingerprint

The fingerprint of the certificate the installed app is signed with. For an app on Google Play that is the App signing key certificate in Play Console (Test and release → App integrity), not your upload key — Play re-signs the app before it reaches phones. For an APK you distribute yourself, it is the certificate in your keystore: keytool -list -v -keystore your.jks prints it.

Claiming some paths, not all

Leaving the paths empty claims every HTTPS link on the domain, which is right for most sites. Use paths when only part of the site lives in the app — /shop/* but not /blog/* — so blog links still open in the browser. Android's pathPrefix is a plain string prefix, so /shop also matches /shopping; add the trailing slash if that matters.

Why verification fails

adb shell pm get-app-links prints the state per domain — verified, none or an error code — and is the first thing to run when links keep opening in the browser.

Deep links and the builder

The builder does not yet expose an App Links option; the generated app opens your site and links inside it stay in the app, but system-wide links still go to the browser. This tool is here for people who take the generated project further, and so the setup is ready the day the option ships. The deep links guide covers the whole flow, including iOS Universal Links for when you go there.

Frequently asked questions

What is the difference between a deep link and an App Link?

A deep link is any URL an app declares it can open; Android shows a chooser if more than one app claims it. An App Link is a verified HTTPS deep link — the assetlinks.json file proves you own the domain, so Android opens your app without asking.

Where do I get the SHA-256 fingerprint?

For an app on Google Play: Play Console → Test and release → App integrity → App signing key certificate. For a self-distributed APK: keytool -list -v -keystore your.jks. Use the certificate the installed app is actually signed with.

Can I host assetlinks.json on a static site?

Yes, as long as it is served over HTTPS at exactly /.well-known/assetlinks.json with no redirect and a JSON content type. Netlify, Vercel, Firebase Hosting and GitHub Pages all work; check the content type on the last one.

Does the Website to App builder set this up?

Not yet. The generated app keeps navigation inside the app, but links tapped elsewhere on the phone open the browser. The generator gives you the files for a native project and for when the option is added.

Do I need both example.com and www.example.com?

If your site answers on both, yes — Android treats them as separate hosts. List both in the tool, and serve the JSON file from both.

Read next

Related tools

Turn your website into an app today

Paste your URL, pick a name and an icon, and download a signed Android app in minutes. Free to start — no code, no Android Studio, no card.

Convert my website — free