Link Auto CleanerAdd to Chrome

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.

Add to Chromefree · 346 rules · 0 network requests
Try it — runs in your browser
Input
Beforehttps://youtu.be/dQw4w9WgXcQ?si=aBcD1234EfGh&t=42
Removed
  • sishare ID
  • Rebuilt as a canonical link
After

https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=42

01Where it works

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.

02How it differs

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.

FeatureThis extensionClearURLsTypical “copy clean link”
Cleans automatically on copyright-click only
Cleans on paste
Native “Copy link address” is clean
Cleans on navigationsometimes
One-click per-site pauseall or nothingrarely
Every rule visible in the UIin a JSON file
Zero network requestsvaries

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.

03The rule set

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
Never removed

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
04The promise

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.

No analytics, telemetry, or accounts
Nothing is measured, reported, or logged off-device.
storage.local, never storage.sync
Sync would upload your paused-site list — effectively a list of sites you visit — to your browser vendor.
Rules ship inside the extension
No remote rule updates, so nothing phones home for a config file.
One network call, off by default
Short-link resolving is the only code path that can reach the network, and it is labelled everywhere it appears.
05Questions

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.