URL Parser
Break a URL into protocol, host, port, path, query parameters, and fragment instantly.
Enter a URL to see its parts.
A URL (Uniform Resource Locator) is the address of a resource on the web. Its anatomy—protocol, host, optional port, path, query string, and fragment—tells a browser or API client exactly where and how to fetch something.
Query parameters after '?' are key=value pairs joined by '&'. The fragment after '#' is handled client-side only and is never sent to the server. Understanding this split is essential for debugging redirects and analytics tracking.
The fragment after '#' never reaches the server—it is handled entirely in the browser. That is why 'not found' errors sometimes hide in the hash rather than the path.
Common uses
- Reading a long redirect URL to find the original destination hidden in a query parameter.
- Debugging why an analytics UTM parameter is not being picked up by inspecting each key separately.
Frequently asked questions
- What is the difference between host and hostname?
- hostname is the domain or IP without the port; host includes the port if it is present. 'example.com:8080' has hostname 'example.com' and port '8080'.
- Why do some URLs have no fragment on the server?
- The part after '#' is a client-side instruction. Browsers strip it before sending the request, so servers never receive it.
- Can a URL contain spaces?
- Not raw. Spaces must be percent-encoded as %20 (or '+' in query strings). Use the URL encoder on this site to prepare them.
- Why is port empty?
- When the URL uses the default port (80 for http, 443 for https), the parser reports it as empty because the browser omits it.