Decompose a URL into its constituent parts: scheme, user info, host, port, path, query string, and fragment. The parser uses the browser’s native URL constructor, so the breakdown matches exactly what the browser itself uses for navigation and what fetch() sends to a server.
The query string is also parsed into a sortable table of key/value pairs. Repeated keys are preserved in order (same behaviour as URLSearchParams), and percent-encoded values are decoded for display while the raw encoding is kept available for copying. IPv6 hosts wrapped in square brackets and internationalised (Punycode) domains are recognised correctly.
Scheme, user info, host, port, path, query string (broken into individual key/value pairs), and fragment — the standard RFC 3986 generic URI components. Default ports for http/https are shown explicitly.
All values are kept in order. So ?tag=a&tag=b parses to two entries with the same key, which is what URLSearchParams produces and what most servers expect.
Yes — displayed values are decoded for readability (so %20 shows as a space). The original encoded form is also shown so you can copy whichever you need.
No — parsing uses the browser’s built-in URL and URLSearchParams APIs. Nothing leaves the page.
Explore the full suite of Web tools and 290+ other free utilities at Chunky Munster.