Chrome extension
Copy the link.
Leave the ?si=aBcD1234 behind.
Most link cleaners only fix the address bar. The link you copy into a message still carries its tracking tail. This one rewrites the clipboard as you copy.
- sishare ID
- Rebuilt as a canonical link
https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=42
Cleaned wherever links actually move
A link leaves your browser in more ways than one. Each of these is a separate interception point, and each can be turned off on its own.
When you copy
The clipboard is rewritten as you copy, in both the plain text and rich text flavours. No menu to remember.
Pages that manage their own clipboard, like code editors, are left alone.
When you paste
Catches links copied before the extension ever saw them — from another app, another device, a chat window.
Rich text editors are skipped unless the clipboard is just a URL.
When you right-click
Chrome’s own “Copy link address” returns a clean URL, because the link you right-clicked is cleaned as the menu opens.
Only that one link is touched — not the whole page.
When a page loads
Tracking parameters come off the address bar during top-level navigation, using declarative rules.
Page resources and background requests are never modified.
The gap nobody filled
Cleaning on navigation is well covered. Cleaning the clipboard is not — and the clipboard is how links actually reach other people.
| Feature | This extension | ClearURLs | Typical “copy clean link” |
|---|---|---|---|
| Cleans automatically on copy | — | right-click only | |
| Cleans on paste | — | — | |
| Native “Copy link address” is clean | — | — | |
| Cleans on navigation | sometimes | ||
| One-click per-site pause | all or nothing | rarely | |
| Every rule visible in the UI | in a JSON file | — | |
| Zero network requests | varies |
ClearURLs is the established tool in this space and worth your respect — its community-maintained rule list seeded parts of this one. The difference is where the cleaning happens, not whether it works.
346 rules that remove. 50 that protect.
Removing the wrong parameter breaks pages. So the rule set is two-sided: what comes off, and what must survive because it changes what you actually see.
Campaign tags
- utm_source
- utm_medium
- utm_campaign
- mtm_*
- _hsenc
Ad click IDs
- gclid
- fbclid
- msclkid
- ttclid
- gbraid
Share identifiers
- si
- igsh
- s & t
- mibextid
- share_id
Affiliate tags
- tag
- mkcid
- sca_ref
- ranMID
- irclickid
Parameters that carry real state
Each is protected by name and covered by a test, because stripping it would change what the page shows.
- skMediumFriend-link token that unlocks the article
- img_indexInstagramWhich carousel slide you land on
- hash, vareBayItem variant and watchlist state
- t, listYouTubeTimestamp and playlist
- q, kSearchThe actual search query
- 23
- sites with specific rules
- 19
- redirect wrappers unwrapped offline
- 31
- shorteners recognised and flagged
Zero network requests.
Not “anonymised”. Not “aggregated”. None. The extension has no servers, so there is nowhere for your data to go even in principle.
The things worth asking
Does it send my browsing anywhere?+
No. The extension has no servers and makes no network requests. There is no analytics, no telemetry, no accounts and no remote rule updates. The only code path that can reach the network is short-link resolving, which is off until you turn it on.
Why does it need access to all sites?+
Because cleaning a link at the moment you copy it requires listening for copy events on whatever page you are copying from, and that cannot be known in advance. The content script only reads the text being copied or pasted, in memory, to find URLs in it. It does not track browsing or read pages otherwise.
What if it breaks a site?+
Click the toolbar icon and hit “Pause on this site”. One click, one site — you never have to disable the whole extension. Defaults are deliberately conservative for this reason: parameters that carry real state are explicitly protected and covered by tests.
What about bit.ly and other short links?+
Their destination is hidden behind a redirect that can only be followed by making a network request, which would break the on-device promise. So it is off by default, clearly labelled, and opt-in. With it off, short links are flagged rather than silently left dirty.
Does it store the links I clean?+
Only if you leave the activity log on, and only on your device, capped at 50 entries. You can turn it off or clear it at any time. Settings use storage.local rather than storage.sync, because sync would upload your paused-site list to your browser vendor.
Stop sending trackers to your friends.
Install it once and never think about it again. Every link you copy from then on is just the link.