🔗 URL Parser

Paste a URL and see it broken into its scheme, host, port, path, every query parameter and the fragment.

Where each piece comes from

The string is handed to the browser's own URL parser - the same one the address bar uses - so the breakdown is the standard WHATWG interpretation, not a regex guess. The sample splits like this:

https://example.com:8443/path/to/page?foo=bar&baz=qux#section
|____|  |_________||__||___________||_____________||______|
scheme    hostname  port   pathname      search      hash

Protocol keeps its colon, the port shows (default) whenever it is the standard one for the scheme, and Origin is scheme plus host plus any non-default port. Query parameters are listed separately from the raw search string because the parser decodes them: q=a+b%20c stays as typed in the Search row but reads as a b c in the parameter table.

Normalisation you will notice

Repeated parameters are all kept, in order, so ?x=1&x=2 lists two x rows. Servers disagree about which one wins, and that disagreement is a classic parameter-pollution bug.

Frequently asked questions

Why is the port blank for an https URL?

Because 443 is the default for https, and the URL standard removes a port that matches the scheme's default. The row shows (default) rather than guessing a number that was never in the text.

Does the fragment after # reach the server?

No. The browser keeps everything after the hash for itself and never puts it in the HTTP request, which is why analytics and server logs cannot see it.

What is the difference between origin and host?

Host is just the domain name. Origin is scheme, host and non-default port together, and it is the value that decides same-origin policy, CORS checks and cookie scope - https and http on one domain are two different origins.