Free developer tool
URL Parser
Split any URL into protocol, host, port, path, fragment and a decoded table of query parameters.
Parts
| Protocol | https |
|---|---|
| Hostname | shop.example.com |
| Port | 8443 |
| Origin | https://shop.example.com:8443 |
| Path | /en/running-shoes/ |
| Query string | ?color=blue&size=42&utm_source=newsletter&utm_medium=email |
| Fragment | #reviews |
Query parameters4
| Name | Value (decoded) |
|---|---|
| color | blue |
| size | 42 |
| utm_source | newsletter |
| utm_medium | email |
See exactly what's in a URL
Paste a URL to split it into protocol, hostname, port, path, query string and fragment, with every query parameter decoded in a table. Parsing uses the WHATWG URL standard, the same rules browsers use, so what you see is what a browser sees.
It's useful for checking tracking parameters, debugging redirects, reading long links from ads or emails, and spotting duplicate parameters that can create duplicate-content URLs.
What the parts mean
- Hostname: the domain, shown in punycode (xn--) form for international domains.
- Path: decoded, so %20 shows as a space.
- Query string: everything after ?, split into name/value pairs below.
- Fragment: the part after #, which browsers never send to the server.
Frequently asked questions
- Why is the fragment not sent to the server?
- Browsers keep everything after # on the client. That's why Google mostly ignores fragments when indexing, and why analytics tools can't see them without extra JavaScript.
- Can a URL have the same parameter twice?
- Yes, for example ?tag=a&tag=b. Servers handle repeats differently, and the table lists every occurrence in order.
- Does this tool visit the URL?
- No. It only reads the text you paste. Nothing is fetched or sent.