π οΈ Free URL Parser
Paste any URL and break it down into protocol, host, port, path, query parameters, and fragment.
URL Parts
How to Use This URL Parser
Paste any full URL into the box and the tool parses it instantly as you type. Each part is listed with its decoded value, and query parameters are shown as a key/value table.
Paste the full URL into the URL box, starting with http:// or https://. Parsing happens automatically as you type, or press Parse URL.
Read the hostname, protocol, and port at the top of the results. If the URL uses a non-default port, it is shown explicitly; otherwise the port row says "default".
Check the query parameters table. Each key and value is shown percent-decoded, so %20 shows up as a space and you can read the real parameter values.
Look at the fragment (the part after #) and the origin. Copy the parts you need with the Copy button.
URL Anatomy: The Parts of a URL
A URL has a fixed anatomy. The scheme (protocol) says how to fetch the resource: http, https, ftp, and others. The authority section holds the login info, host, and port: user:pass@example.com:8080. The path (/path/page) identifies the resource on the server. The query (?foo=bar&baz=qux) passes parameters, each a key=value pair joined by ampersands. The fragment (#section) is never sent to the server; the browser uses it to jump to an anchor on the page. The origin combines scheme, host, and port, and browsers treat it as the security boundary: a page at https://example.com:8080 cannot freely read data from https://example.com:9090, even though the domain is the same, because the ports differ.
Worked Example
Take https://user:pass@example.com:8080/path/page?foo=bar&baz=qux#section. The parser reports: protocol = https:, username = user, password = present (masked), hostname = example.com, port = 8080, pathname = /path/page, query = foo=bar and baz=qux as two decoded rows, fragment = section, origin = https://example.com:8080. If the same URL had no port written, the port row would read "default" because 443 is the default for https, and the origin would be https://example.com.
Practical Uses
Frequently Asked Questions
What does a URL parser show?
A URL parser breaks a full URL into its standard parts: the protocol (scheme), username and password if present, hostname, port, pathname, query string parameters, and the fragment. This tool also decodes percent-encoded query values and shows the origin, so you can see exactly how a URL is structured.
Is it safe to paste a URL with a password into this parser?
Yes. The parsing runs entirely in your browser with JavaScript and nothing is sent to a server. Even so, be careful with URLs that contain passwords: they appear in browser history and logs. The password value is masked in the output by default as a good habit.
What is the difference between the hostname and the origin?
The hostname is just the domain (like example.com). The origin is protocol plus hostname plus port (like https://example.com:8080). Two URLs share an origin only when all three match, which is why the origin matters for browser security rules such as CORS.
Why does my URL have percent signs like %20?
URLs can only contain a limited set of characters, so everything else is percent-encoded: a percent sign followed by two hex digits. %20 is a space, %2F is a slash, %3F is a question mark. This parser decodes those automatically, so you see the real values.
What is Punycode and why is there a note about it?
Punycode encodes international (non-ASCII) domain names so the DNS system can handle them, and it shows up as labels starting with xn--. This parser flags it because xn-- domains are also a classic phishing trick, so it is worth double-checking that an xn-- domain is the one you intended.