What the URL parser shows
This tool splits a web address into its parts and shows each one decoded, with a copy button. Query parameters appear in an editable table: change a name or value, add a row, move rows or delete them, and the rebuilt URL updates as you type. Known tracking parameters are marked, and one click removes them all. In the Many URLs mode you paste a list and download a CSV file with the parts of every URL.
Parsing uses the URL class built into your browser, which follows the WHATWG URL Standard. The URL Standard defines how the web platform parses URLs, and the URL class applies its rules, so what you see here is what your browser makes of the URL.
Anatomy of a URL
Take https://jane@shop.example.com:8443/en/books?id=42&sort=new#reviews. It has these parts:
| Part | In the example | What it does |
|---|---|---|
| Scheme | https | How to fetch the resource. http, https, ws, wss, ftp and file are the special schemes of the URL Standard. |
| Username and password | jane | Optional credentials before an @. Rarely used and best avoided. |
| Host | shop.example.com | A domain name, an IPv4 address or an IPv6 address in square brackets. |
| Port | 8443 | Left out when it is the default: 80 for http and ws, 443 for https and wss, 21 for ftp. |
| Path | /en/books | Segments separated by slashes, read by the server. |
| Query | id=42&sort=new | Name and value pairs after the ?, separated by &. |
| Fragment | reviews | The part after #, used by the browser to jump to a place in the page. |
International domain names are stored in an ASCII form called Punycode (RFC 3492), with the prefix xn--. The URL Standard gives ☕.example, which becomes xn--53h.example. The tool shows both forms.
Percent-encoding
RFC 3986, section 2 lists the characters a URL may hold as they are: letters, digits and - . _ ~, plus reserved characters like / ? # & = that separate the parts. Everything else is written as UTF-8 bytes in %XX form, so a space becomes %20 and ü becomes %C3%BC. This parser decodes those escapes for display and keeps the encoded form in the URL. A broken escape such as %zz stays as it is. To encode or decode text by hand, use the URL encoder and decoder.
Query strings
The browser's URLSearchParams interface reads a query as form data. The URL Standard's rules for that format, application/x-www-form-urlencoded, say to replace each + with a space before decoding, so color=dark+blue means "dark blue". The same name may appear more than once, and the order can matter, which is why the table keeps duplicates and lets you move rows. Parameters you do not touch keep their original encoding; edited ones are encoded again with %20 for spaces.
Fragments stay in the browser
The fragment is not part of the request. MDN's page on URI fragments says the fragment is not sent to the server and is processed by the client after the resource is retrieved, and RFC 3986, section 3.5 says it is separated from the rest of the URI before a dereference. Scripts on the page can still read it, so it is not a safe place for secrets.
Tracking parameters and privacy
Ad and analytics tools add parameters to links so a visit can be tied to a campaign or a single ad click. The tool flags these, each with the page that documents it:
| Parameter | What it is | Documented by |
|---|---|---|
| utm_* | Campaign tags (source, medium, campaign, term, content and others) | Google Analytics: URL builders: Collect campaign data with custom URLs |
| gclid | Google Click Identifier, added by Google Ads auto-tagging | Google Ads: About auto-tagging |
| gbraid, wbraid | Google Ads click parameters for iOS app and web conversions | Google Ads: Updates to iOS 14 campaign measurement |
| dclid | Click ID appended by Campaign Manager 360 | Google Campaign Manager 360: Enhanced attribution |
| fbclid | Click ID passed when someone clicks an ad on Facebook or Instagram | Meta: ClickID and the fbp and fbc Parameters |
| msclkid | Microsoft Click ID, unique for each ad click | Microsoft Advertising: AccountProperty, MSCLKIDAutoTaggingEnabled |
| ttclid | TikTok Click ID, appended when someone clicks an ad on TikTok | TikTok: About TikTok Click ID |
Any parameter that starts with utm_ is flagged; Google Analytics documents nine of them. Other tools use their own names, and those are only listed here once we can link to their documentation. To build tagged links for your own campaigns, use the UTM builder.
URL Standard and RFC 3986
RFC 3986 defines the generic syntax of URIs. The URL Standard has the goal to align RFC 3986 and RFC 3987 with what browsers do and to replace them. In practice the browser parser is more forgiving. It removes spaces and control characters at the start and end and tabs and line breaks inside, reads a backslash as a slash in http and https URLs, accepts short and hexadecimal IPv4 forms like 127.1 or 0x7f.1, and converts international domain names with Unicode IDNA Compatibility Processing instead of IDNA2008. RFC 3986 rejects or treats most of these differently. A server or library that follows RFC 3986 may therefore see another host or path than the browser, which matters when you check redirects or allow lists.
Usernames and passwords
RFC 3986, section 3.2.1 deprecates the user:password form, and the URL Standard notes that a username or password cannot be part of a valid URL string. Browsers still parse them, so the tool shows them with a warning.
How to use the URL parser
- 1Paste a URL. The parts appear right away, with a note for anything the parser changed.
- 2Edit, add, move or delete query parameters, or press Remove tracking parameters.
- 3Copy the rebuilt URL or any single part.
- 4For a list, switch to Many URLs and download the CSV file.
To turn a title into a clean path segment, use the slug generator. When URLs change, the redirect generator writes the server rules.
Sources
- WHATWG, URL Standard: special schemes and default ports, parsing rules, form-urlencoded parsing, IDNA
- RFC 3986, Uniform Resource Identifier (URI): Generic Syntax
- RFC 3492, Punycode
- MDN, URI fragment
Related guides
- Robots.txt vs Noindex vs Canonical: Which One to Use
- Hashing vs Encryption vs Encoding: What Each One Does
- Technical SEO Checklist for a New Website
Frequently asked questions
Is the URL sent anywhere?
No. The URL is parsed by the URL class built into your browser, and nothing is uploaded. Copy link shares only the mode, never the URL, because URLs often hold tokens, email addresses or session IDs.
Why does the parsed URL look different from what I pasted?
The URL API returns the URL in its standard form. It lowercases the host, removes a port that is the default for the scheme, resolves /./ and /../ in the path, turns backslashes into slashes for http and https, and percent-encodes spaces and characters outside ASCII. The box under the input lists every change it made to your URL.
Should a space in a query be + or %20?
Both are read as a space when the query is treated as form data (application/x-www-form-urlencoded), as the browser's URLSearchParams interface does. This tool shows + as a space in the decoded values. When you edit a value, it writes a space as %20, which also works in a path, where + stays a plus sign.
Is it safe to remove tracking parameters?
For a link you share or bookmark, usually yes: the page loads the same, and the site cannot tie your visit to a campaign or an ad click. A few sites use a parameter like utm_source for their own logic, so test the cleaned link once. Do not strip these parameters from your own ad landing pages, because the ad platforms use them to count conversions.
Why is a password in a URL a problem?
Anything in a URL can end up in browser history, server logs, analytics tools and screenshots. RFC 3986 deprecates the user:password form, and the URL Standard does not count a URL with a username or password as valid, although browsers still parse it. Send credentials another way.
What does the batch mode export?
One row per line you paste: whether it parsed, the full URL, scheme, username, whether a password is present, host in ASCII and Unicode, port, decoded path, query, fragment, the tracking parameters found and the URL without them. Empty lines are skipped. The file opens in any spreadsheet program.