Feature Test Links
Feature Test Links Link to heading
Every row below is rendered directly from
app/linkrouter-rules-examples.json — the
same fixtures the unit-test suite consumes — so the page is a 1:1 map of what
the router should do: Input (what you open) → Expected Output (what the
target browser should show).
Setup — enable the relevant feature before testing it:
- Shortener hosts and Host rewrites ship disabled (opt-in) — flip the specific host ON in Settings first.
- Rules and Redirect formats must exist (add them, or keep) in Settings.
- Query-param filters ship enabled by default.
See How to test for a reliable workflow.
How to test Link to heading
The links below exercise LinkRouter end-to-end. Because LinkRouter is your default browser, a bare in-browser tap goes straight through it, which is exactly what we want to observe — but it leaves nothing to compare against the Expected Output shown in this page. The reliable workflow:
- Open the link in an app that doesn’t handle browsing itself (a messaging app’s share target, a notes / todo app, or a PDF). That way you watch the dispatch in real time and the target browser’s result appears alongside this page.
- Print this page to a PDF, or just use your browser’s own Ctrl/Cmd+Print. Then read it on the phone and tap the links straight from the document.
- Open the Input link and confirm the target browser opened exactly the Expected Output shown in the adjacent cell.
Rules
| Pattern | Input | Expected Output |
|---|---|---|
twitter.com | https://twitter.com/elmo/status/2068016008086872413 | org.mozilla.firefox |
twitter.com | https://twitter.com/elmo | org.mozilla.firefox |
*.evil.com | https://pure.evil.com | STOP |
evil.com | https://evil.com | STOP |
AMP cache unwrap
| Name | Input | Expected Output |
|---|---|---|
| AMP cache unwrap | https://example-com.cdn.ampproject.org/c/s/example.com/news/story?id=42 | https://example.com/news/story?id=42 |
Redirect formats
| Name | Pattern | Input | Expected Output |
|---|---|---|---|
| Google www | www.google.com/url | https://www.google.com/url?q=https%3A%2F%2Fexample.com%2Fpage | https://example.com/page |
google.com/url | https://google.com/url?q=https%3A%2F%2Fexample.com%2Fx | https://example.com/x | |
| Facebook (redirect.php) | facebook.com/redirect.php | https://www.facebook.com/redirect.php?u=https%3A%2F%2Fexample.com | https://example.com |
| Facebook (l.php) | l.facebook.com/l.php | https://l.facebook.com/l.php?u=https%3A%2F%2Fexample.com | https://example.com |
| Mailchimp/Mandrill | *.email.mandrillapp.com | https://abc5.email.mandrillapp.com/?lc=https%3A%2F%2Fexample.com | https://example.com |
Query-param filters
| Param | Host scope | Input | Expected Output |
|---|---|---|---|
original_uri | facebook.com | https://www.facebook.com/share/r/xyz/?original_uri=https%3A%2F%2Fexample.com%2Fp&utm_source=native | https://www.facebook.com/share/r/xyz/?utm_source=native |
feature | youtube.com | https://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=share | https://www.youtube.com/watch?v=dQw4w9WgXcQ |
si | youtube.com | https://www.youtube.com/watch?v=dQw4w9WgXcQ&si=Zz9 | https://www.youtube.com/watch?v=dQw4w9WgXcQ |
igshid | instagram.com | https://www.instagram.com/reel/BgSlRglAKBn/?igshid=1a2b3c&utm_source=ig_web | https://www.instagram.com/reel/BgSlRglAKBn/?utm_source=ig_web |
igsi | instagram.com | https://www.instagram.com/p/BgSlRglAKBn/?igsi=77 | https://www.instagram.com/p/BgSlRglAKBn/ |
_t | tiktok.com | https://www.tiktok.com/@tonononotonononon1/video/7590307485039283474?_t=88233&utm_source=copy | https://www.tiktok.com/@tonononotonononon1/video/7590307485039283474?utm_source=copy |
mc_cid | (any) | https://example.com/pricing?mc_cid=d1&utm_source=dl | https://example.com/pricing?utm_source=dl |
mc_eid | (any) | https://example.com/pricing?mc_eid=e2&utm_source=dl | https://example.com/pricing?utm_source=dl |
sharer_id | (any) | https://example.com/page?sharer_id=42&utm_source=share | https://example.com/page?utm_source=share |
fbid | (any) | https://example.com/page?fbid=abc&utm_source=share | https://example.com/page?utm_source=share |
fbclid | (any) | https://example.com/page?fbclid=xyz&utm_source=share | https://example.com/page?utm_source=share |
msclkid | (any) | https://example.com/page?msclkid=abc&utm_source=share | https://example.com/page?utm_source=share |
gclsrc | (any) | https://example.com/page?gclsrc=aw&utm_source=dl | https://example.com/page?utm_source=dl |
gclid | (any) | https://example.com/page?gclid=abc&utm_source=dl | https://example.com/page?utm_source=dl |
utm_content | (any) | https://example.com/page?utm_content=abc&utm_source=dl | https://example.com/page?utm_source=dl |
utm_term | (any) | https://example.com/page?utm_term=abc&utm_source=dl | https://example.com/page?utm_source=dl |
utm_campaign | (any) | https://example.com/page?utm_campaign=abc&utm_source=dl | https://example.com/page?utm_source=dl |
utm_medium | (any) | https://example.com/page?utm_medium=abc&utm_source=dl | https://example.com/page?utm_source=dl |
utm_source | (any) | https://example.com/page?utm_source=dl&utm_campaign=x | https://example.com/page?utm_campaign=x |
stkn | instagram.com | https://www.instagram.com/explore/tags/web/?stkn=992 | https://www.instagram.com/explore/tags/web/ |
Shortener hosts
| Name | Host | Path prefix | Input | Expected Output |
|---|---|---|---|---|
| Facebook share links | www.facebook.com | /share/ | https://www.facebook.com/share/r/19QBkCyWfA/ | https://www.facebook.com/reel/1444921104160657/ |
| bit.ly | bit.ly | — | https://bitly.com/98K8eH | https://www.youtube.com/watch?v=dQw4w9WgXcQ |
| Facebook Me - on | on.fb.me | — | https://on.fb.me/1F1TcFX | https://facebook.com/iheartradio |
share.google | — | https://share.google/KkoDIfmzpmsc1W2AX | https://www.youtube.com/shorts/IHVDpLvbiUw |
Host rewrites
| Match host | Target host | Input | Expected Output |
|---|---|---|---|
nytimes.com | archive.md | https://www.nytimes.com/2026/09/16/us/merriam-webster-new-words-looksmaxxing-yacht-rock.html | https://archive.md/www.nytimes.com/2026/09/16/us/merriam-webster-new-words-looksmaxxing-yacht-rock.html |
geocities.com | web.archive.org/web/*/ | http://geocities.com/SiliconValley/ | http://web.archive.org/web/*/geocities.com/SiliconValley/ |
www.tiktok.com | www.seetiktok.com | https://www.tiktok.com/@pareidoliate/video/7685839018021473566 | https://www.seetiktok.com/@pareidoliate/video/7685839018021473566 |
twitter.com | flurbx.com | https://twitter.com/elmo/status/2068016008086872413 | https://flurbx.com/elmo/status/2068016008086872413 |
x.com | flurbx.com | https://x.com/elmo/status/2068016008086872413 | https://flurbx.com/elmo/status/2068016008086872413 |