onlinetools.dev

URL Parser

Break a URL into protocol, host, path and query parameters

Runs locally
loading…
About this tool

Paste a URL and see it dissected: protocol, host, port, path, fragment, and every query parameter as a decoded key-value table. It uses the same WHATWG URL parser your browser uses for navigation, so the interpretation you see is the interpretation a browser will actually apply — including edge cases like default ports being dropped and paths being normalized.

The query-parameter table is the part you will use most: long OAuth redirects, analytics-tagged links and API calls become readable at a glance, each value already percent-decoded. Bare domains without a scheme are accepted too; https:// is assumed for parsing.

It pairs naturally with the URL encoder — parse a URL here to find the parameter you need, edit the value, then re-encode it there.

Frequently asked questions

Why does the parsed URL differ slightly from what I pasted?
The WHATWG parser normalizes: it lowercases the scheme and host, removes default ports (:443 for https), resolves ./ and ../ path segments, and encodes characters that need it. What you see is the canonical form servers and browsers agree on.
Can it handle URLs with duplicate query keys?
Yes — every occurrence is listed as its own row, in order. Duplicate keys are legal and common: many APIs read them as arrays (?tag=a&tag=b).
What is the difference between host and hostname?
hostname is just the domain (example.com); host includes an explicit non-default port (example.com:8080). When the port is the scheme default, both look the same because the port is omitted.
Does the fragment (#...) get sent to the server?
No. Everything after # stays in the browser — servers never see it. That is why single-page apps historically used it for client-side routing, and why analytics parameters placed after # are invisible to the backend.
Related tools