URL Cleaner

Strip utm_, fbclid, gclid and other tracking parameters from any URL. Free online URL cleaner for cleaner links. No signup needed.

Preparing private browser tool…

Your file will stay on this device.

What tracking parameters are and who reads them

A tracking parameter is a name and value appended to a URL query string that carries information about where a visitor came from rather than what they asked for. The destination page usually ignores it entirely; the analytics script on that page reads it, records the campaign attribution, and often stores it in a cookie so later actions can be credited back to the same source.

The best known family is the UTM set, originally from Urchin and now the default in Google Analytics: utm_source, utm_medium, utm_campaign, utm_term and utm_content. These are open, human-readable labels chosen by whoever built the link. A URL like https://example.com/article?utm_source=newsletter&utm_medium=email says nothing about you personally, only about the channel that delivered the link.

The click identifiers are different in kind. fbclid, gclid, msclkid, ttclid, twclid, igshid and similar values are opaque per-click tokens generated at the moment you click. They let the ad platform join this specific click to a specific ad impression and, potentially, to a profile. They are what most people actually want removed when they say they want to clean a link.

How this cleaner decides what to strip

The tool parses your input with the browser's own URL parser, walks every query parameter, and drops a parameter if its name begins with utm_ or appears in a fixed list of known tracker names. That list covers the major ad platforms (gclid, gclsrc, dclid, gbraid, wbraid, fbclid, msclkid, yclid, ysclid, twclid, ttclid, li_fat_id), email and marketing suites (mc_cid, mc_eid, mkt_tok, the HubSpot _hs and __hs parameters, vero_id, vero_conv), self-hosted analytics conventions (the pk_, mtm_ and piwik_ prefixed names used by Matomo), and a handful of others such as spm, epik, _openstat, s_cid, icid and igshid.

Everything else is preserved in its original order, and the path, fragment and port are untouched. Given https://example.com/article?utm_source=newsletter&utm_medium=email&fbclid=abc123&id=42&gclid=xyz the result is https://example.com/article?id=42, with the four removed names listed separately so you can see what went.

Because the rule is name-based rather than heuristic, the tool never guesses. A parameter it does not recognise is kept, which is the safe default: dropping an unknown parameter can break a link, while keeping one only leaves a tracker in place.

Why you cannot strip every parameter blindly

Query parameters are not decoration. They carry page state, search terms, pagination, product variants, video timestamps, language selection and access tokens. Removing id=42 from the example above would point the link at a different resource or at nothing. This is why an aggressive clean is worse than no clean at all.

Three names deserve particular care. ref is on the strip list because it is overwhelmingly used for referral attribution, but a few sites use it as real routing state, so check the result if a cleaned link misbehaves. Parameters like v on YouTube and t for a start timestamp are functional and are never touched. Anything that looks like a signed token or a one-time link, common in password resets and shared documents, must be left alone or the link stops working.

The cleaner also does not follow redirects or unwrap shortened links. A shortener, a click-tracking redirect domain or an email gateway wrapper carries its tracking in the path rather than in the query, so cleaning such a URL leaves it intact. Open it first, let it resolve, then clean the final address.

Where cleaned links actually help

The clearest case is sharing. A link copied from a mobile app or an email often arrives carrying a click identifier tied to you. Pasting that into a group chat, a public post or a documentation page hands the same identifier to everyone who clicks it, and it makes the URL far longer than it needs to be.

Cleaning also helps on the receiving end of analytics. Campaign parameters that survive into internal links, bookmarks and support tickets pollute attribution reports, because a visitor who bookmarks a UTM-tagged URL is re-attributed to that campaign on every later visit. Stripping them before pasting into a ticket or a wiki keeps your own reporting honest.

It is worth being clear about the limits. Removing parameters does not make you anonymous. Your IP address, TLS fingerprint, referrer header, cookies and any first-party identifiers are unaffected, and many sites can re-identify a visit without any URL parameter at all. Treat this as tidying and reducing casual leakage, not as a privacy measure.

Frequently asked questions

Will cleaning a URL break the page it points to?
It should not, because only names matching utm_ or a known tracker list are removed and every other parameter is preserved. Trackers are read by analytics scripts rather than by the page routing. The one name that sometimes does double duty is ref, so if a cleaned link behaves oddly, put that parameter back.
What is fbclid and why does it keep appearing?
It is a per-click identifier that Facebook appends when you follow a link from its apps or site. Unlike a UTM label it is unique to that click, which lets the platform tie the visit back to a specific ad impression and user. It is added on the way out, so it appears even on links you did not build.
Does this remove tracking from shortened links?
No. A shortener or click-tracking redirector keeps its identifier in the domain and path, not in the query string, so there is nothing for a query-parameter cleaner to remove. Open the short link, let it resolve to the final destination, then clean that address.
Is my URL sent to a server?
No. Parsing and rewriting happen in the page using the browser's built-in URL object, and the result never leaves your device.
Does cleaning a link make me anonymous?
No. It removes one channel of attribution. Your IP address, cookies, referrer header and any first-party identifiers on the destination site are untouched, and a site can still recognise a returning visitor without any URL parameter.
Why is utm_source removed when it contains nothing about me?
UTM values describe the campaign rather than the person, so they are less sensitive than click identifiers. They are still stripped because they distort analytics when they survive into bookmarks and shared links, and because they add noise to a URL that is often pasted into public places.