URL parser

Split any link into its parts, decode the query string, and strip tracking tags like utm_source, fbclid and gclid. Runs entirely in your browser.

Parse a URL

Schemehttps
Hostshop.example.co.uk
Port8443
Path/sale/Shoes
Query?size=42&utm_source=newsletter&utm_medium=email&fbclid=IwAR0abc
Fragment#reviews
Originhttps://shop.example.co.uk:8443
User info–

Query parameters (4)

KeyDecoded value
size42
utm_sourcenewslettertracking
utm_mediumemailtracking
fbclidIwAR0abctracking

Clean link (tracking removed)

https://shop.example.co.uk:8443/sale/Shoes?size=42#reviews

3 tracking parameters removed.

The parts of a URL

RFC 3986 defines the pieces: scheme://user:password@host:port/path?query#fragment. In practice you'll meet these:

  • Scheme: https means encrypted. http links are the usual source of mixed-content warnings.
  • Host: the server. The last two labels (three for endings like .co.uk) are the registrable domain, the part that decides ownership.
  • Path: which page on that server. Case-sensitive on most servers, which is why /About and /about can be one working link and one 404.
  • Query: key=value pairs after ?, used for search terms, filters and tracking.
  • Fragment: after #, never sent to the server. A link checker can't tell whether #section-3 still exists on the page.

Which parameters are tracking?

The utm_ family (source, medium, campaign, term, content) is Google Analytics' campaign tagging. gclid, gbraid and wbraid are Google Ads click IDs, fbclid is Meta's, msclkid Microsoft Ads', mc_cid/mc_eid Mailchimp's, _hsenc/_hsmi HubSpot's. Removing them never changes which page loads; it only stops the click being attributed.

Keep going