URL Parser
Enter a URL to break it down into protocol, host, path, query parameters, and fragment. Tracking parameters such as utm_source are automatically detected.
Anatomy of a URL
| Component | Example | Description |
|---|---|---|
| Scheme (protocol) | https: | Indicates the communication method. Web pages use http:/https:, email links use mailto:, and so on — it always appears at the start of a URL. |
| Userinfo | user:pass@ | Username and password used for Basic authentication. Because it is stored in plain text, be careful when sharing a URL that contains it. |
| Hostname | example.com | The domain name or IP address of the destination server. |
| Port | :8080 | The destination port number. It is usually omitted because http defaults to 80 and https defaults to 443. |
| Path | /users/123 | A hierarchical string that identifies the location of a resource on the server. |
| Query string | ?id=123&sort=asc | A set of key=value parameters that follows the "?", with multiple pairs joined by "&". |
| Fragment | #section2 | An identifier pointing to a specific position within the page. Everything after "#" is handled only in the browser and is never sent to the server. |
Common tracking query parameters
| Parameter | Description |
|---|---|
| utm_source | Identifies the traffic source (e.g. newsletter, google, twitter) for tools such as Google Analytics. UTM stands for Urchin Tracking Module. |
| utm_medium | Identifies the marketing medium (e.g. email, cpc, social). Normally used together with utm_source. |
| utm_campaign | Identifies the name of a marketing campaign, used to measure the effectiveness of a specific initiative. |
| utm_term | Identifies the keyword used in a paid search (PPC) ad. |
| utm_content | Distinguishes between multiple links or creatives within the same ad. |
| gclid | A click ID issued by Google Ads, used for conversion tracking. |
| fbclid | A click ID issued by Facebook Ads, used by Meta for ad performance measurement. |
Tips
- Before sharing a URL on social media, run it through this tool to check whether it contains tracking parameters such as utm_source. Removing them first gives you a cleaner link to share.
- Every URL you enter is processed entirely in your browser with JavaScript and never sent to the toolbase.cc server, so it is safe to check URLs that contain credentials.
- If the same key appears multiple times in the query string (e.g.
?tag=a&tag=b), each occurrence is listed as its own row. - The fragment (everything after "#") is never sent to the server — it is used only inside the browser for in-page links or single-page-app routing, so it never shows up in server access logs.
- When the port field is blank, it means the default port (80 for http, 443 for https) was omitted from the URL.
FAQ
scheme (such as http://). If you want to check something like localhost:3000/path, prefix it with http:// to get http://localhost:3000/path.
Side Note — Why did URLs end up with so many tracking parameters?
Query parameters like ?utm_source=... trace back to "Urchin Tracking Module," an analytics identifier offered in 2005 by Urchin, the company whose product became the basis for Google Analytics after Google acquired it. That acquisition is why the term "UTM parameter" became an industry standard.
From the 2010s onward, advertising platforms such as Google and Facebook began adding their own tracking parameters (gclid, fbclid, and the like), so a single URL can now carry several tracking parameters stacked on top of each other. Links shared on social media often look unusually long for exactly this reason.
Some browsers and privacy-focused tools now strip these parameters automatically. Still, the underlying measurement purpose is genuinely useful for many legitimate sites, so it is not simply "bad" — the debate over balancing marketing analytics with personal privacy continues today.