# App links checker for iOS Universal Links and Android App Links

> Check whether a shared link opens your iOS or Android app instead of the browser: apple-app-site-association, assetlinks.json, and the copies Apple and Google have cached.

Check a URL: https://sharelint.com/?view=apps&url=<your-url>, or as Markdown: https://sharelint.com/api/preview?format=md&url=<your-url>

## What is checked

- `/.well-known/apple-app-site-association` (iOS Universal Links): HTTP 200, application/json, no redirects, under 128 KB, valid applinks entries.
- `Apple's CDN copy` (iOS Universal Links): Since iOS 14 phones download the file from Apple, not from your site. It must match your current file.
- `/.well-known/assetlinks.json` (Android App Links): HTTP 200, application/json, no redirects, handle_all_urls statements with SHA-256 fingerprints.
- `Google Digital Asset Links` (Android App Links): Android verifies through this service. It must list your package.
- `<meta name="apple-itunes-app">` (Safari Smart App Banner): A numeric app-id, and optionally an app-argument to open the same page.
- `al:ios:* and al:android:* tags` (Facebook and Messenger): Each platform needs its URL and app identifier together.

## What the check covers

- Whether apple-app-site-association and assetlinks.json are served the way iOS and Android require: HTTP 200, JSON, and no redirects.
- App IDs, package names and certificate fingerprints, in the formats Apple and Google expect.
- Whether the exact URL you entered matches a rule in apple-app-site-association, so you can see if it opens the app or Safari.
- Whether Apple’s CDN and Google’s Digital Asset Links service already have your current files. Phones read those copies, not your server.
- The Smart App Banner tag, and the App Links meta tags that Facebook and Messenger read.

## Common problems

- A redirect, often from the bare domain to www or from http to https. iOS and Android do not follow redirects for these files.
- A single-page app that answers /.well-known/ paths with its HTML page.
- The wrong certificate in assetlinks.json: Google Play re-signs your app, so use the app signing key from Play Console, not your upload key.
- An app ID without the Team ID prefix, or with the wrong one.
- A firewall or bot challenge that blocks Apple’s servers, so Apple’s CDN never gets the file.

## Why a working file can still fail

Phones do not download apple-app-site-association from your site. Since iOS 14 they get it from Apple’s CDN, which refreshes on its own schedule, usually within a day. A new or fixed file only takes effect once Apple has it.

Android verifies App Links when the app is installed or updated, through Google’s Digital Asset Links service. After you change the file, re-verify on a test device with adb shell pm verify-app-links --re-verify followed by your package name.

## Sites without an app

If the site has no files and no app tags, there is nothing to check and no score. That is the normal state for a website without an app.
