Paste https, custom-scheme, or intent:// URLs (one per line). We parse structure, flag raw spaces, and emit
am start lines. We do not fetch assetlinks.json and we do not open the app.
| Status | URL | Scheme / host | Notes | ADB |
|---|---|---|---|---|
| Run analysis to see results. | ||||
Enter deep link URLs (one per line).
Use it when marketing dumped a spreadsheet of campaign URLs and you want to catch broken hosts, raw spaces, and malformed
intent:// fragments before a device session. Bulk paste and export are the point.
Do not treat a green row as “the app will open.” Verified App Links need assetlinks.json, the right
android:autoVerify filter, and the matching applicationId. This page never talks to your host or your phone.
Each line is classified as https, a custom scheme, or an intent:// fragment. We look for unencoded spaces, missing schemes, and
an Intent;…;end shape. We emit adb shell am start -a android.intent.action.VIEW -d …. That ADB path skips Chrome’s
intent parser — a URL can work in ADB and fail in Gmail.
https://app.example.com/note/42 notes://note/42 intent://app.example.com/note/42#Intent;scheme=https;package=com.example.notes;end
All three can be “OK” here and still miss a debug install whose id is com.example.notes.debug.
Next: Intent URL generator if you need a fallback, then a physical tap test.
am start and shipping a QR that opens Chrome.android:exported="true" on the activity that owns the filter (Android 12+).ADB & intents guide · Exported components after Android 12 · ADB command generator
We only checked syntax. Host verification and the merged manifest decide routing.
No. Parse and export stay in this tab.
Raw spaces break parsers and CI logs. Percent-encode.