URL Parser

Paste any URL — see the protocol, host, port, path, query parameters (decoded), hash, and origin laid out.

Both URL-encoded and decoded views shown for query values.
Enter input above to see the result.
Enter input above to see the result.

Anatomy of a URL

A URL is a structured string with seven well-defined parts (scheme, authority, host, port, path, query, fragment) that you eyeball as one blob. When something is wrong — the wrong parameter, an unexpected port, an extra encoded character — it's much easier to spot in a parsed table than in the raw string. This tool uses the browser's native URL object so the parse exactly matches what JavaScript sees, then breaks each query parameter out so the decoded values are visible alongside the raw form.

Debugging scenarios that bring you here

Protocol, host, path, query, hash

Encoding, fragments, and repeated keys

Boundaries of browser-native parsing

Walking through a parsed result

Paste https://api.example.com:8443/v2/orders?status=open&page=2#top and it breaks into a table: scheme https, host api.example.com, port 8443, path /v2/orders, query status=open & page=2 (each parameter on its own row), fragment top. The unexpected :8443 or a truncated query value jumps out immediately in the table when it was invisible in the one-line blob.

Decoding, repeated keys, and safe inspection

Does it decode percent-encoded values? Yes — a query value like %40 is shown decoded as @, so you read the real value rather than the escaped form. That's what makes it useful for debugging OAuth state and redirect_uri parameters.

What about repeated query keys? Each occurrence is listed separately — ?tag=a&tag=b shows two tag rows rather than silently keeping only one. Repeated keys are legal and some APIs rely on them, so the parser preserves them all.

Does it fetch the URL? No — it only parses the string. Nothing is requested, so it's safe to inspect signed URLs, webhook endpoints and callbacks with secrets in the query without them leaving your browser.

Can it parse a relative URL? It's built for absolute URLs with a scheme. A bare /path?x=1 has no host or scheme to break out — prepend a dummy origin like https://x to inspect just the path and query.

Common URL pitfalls in production