Dev Utilities
Break a URL into its component parts
URL parser splits an absolute URL with the same WHATWG rules your browser applies and prints its parts: Protocol, any username and password, Host, Hostname, Port, Path, Search and Hash, followed by the query parameters one per line, decoded. Developers use it to see how a redirect target differs from the original link, confirm what a webhook endpoint actually points at, or pull one value out of a long tracking URL. The port is shown when it is not the default for the scheme, and international hostnames print in their punycode form.
How to use URL Parser
- Open URL Parser in the Toolbox101 app.
- Paste an absolute URL, one that starts with a scheme such as
https://, into theURLbox. - Read the labeled lines in the
Outputbox:Protocol,Host,Hostname,Path,Search,Hash, andPortorUsernamewhen the URL has them. - Check the
Query parameterslist at the bottom, which shows each key and its decoded value. - Click
Copyto keep the breakdown, or paste a different URL and compare the two outputs.
Worked example
URL Parser returns the output below for this input.
Input
https://example.com/blog/post?page=2&tag=seo#commentsOutput
Protocol: https:
Host: example.com
Hostname: example.com
Path: /blog/post
Search: ?page=2&tag=seo
Hash: #comments
Query parameters:
page = 2
tag = seoCheck it yourself: open URL Parser and enter the same input.
Frequently asked questions
Why do I get a "Not a valid URL" message?
The parser needs an absolute URL with a scheme. A relative path like /blog/post or a bare domain like example.com has no protocol to anchor on, so the browser's URL parser rejects it. Prefix the value with https:// or http:// and it parses.
Where does the port appear in the output?
In two places when it is not the default: Host includes it (localhost:3000) and a separate Port line shows the number. Default ports are dropped the way the browser drops them, so https://example.com:443/x reports Host: example.com and no Port line.
How are query parameters decoded?
Each key and value is percent-decoded, and a + is read as a space, which is how browsers read a query string. So ?q=hello+world&tag=caf%C3%A9 lists q = hello world and tag = café. The Search line above it keeps the original encoded text.
How are international domain names handled?
Hostnames are normalised to punycode exactly as browsers do before a request, so https://münchen.de/ reports Hostname: xn--mnchen-3ya.de. For the readable form, paste the xn-- label into the Punycode Decode tool.
What is the difference between URL parsing and URL encoding?
Parsing reads a URL and labels its parts: scheme, host, path, query, fragment. Encoding escapes characters so a value can sit inside a URL safely, turning spaces into %20. Parse a URL to understand it; encode a string to build one.