How to use the URL components parser
Paste a URL and it is split into scheme, host, port, origin, path, query string and fragment, with the percent-decoded form printed next to each. Query parameters are laid out in a table, and repeated names are all kept in order rather than collapsed. A relative URL with no scheme is resolved once you fill in the base URL field.
How the parsing works
Nothing here is a hand-written regular expression: the page uses the URL constructor built into the browser. That parser implements the WHATWG URL Standard, so the breakdown matches what a browser would really send, including an omitted default port and punycode normalization of the host. Query values are decoded the way URLSearchParams decodes them. Verified October 2026.
Limits worth knowing
When parsing fails the page explains why instead of hiding the result. A stretch of broken percent-encoding is reported in the decoded field rather than guessed at. Converting punycode back to a Unicode domain is not supported. If the address carries a user id or password you get a warning, because such URLs leak into logs and referrers, so do not share them. Everything runs in your browser.
Frequently Asked Questions
An address without a scheme cannot be read as absolute. Fill in the base URL field and it is resolved against that base, with the base it used printed alongside the result.
The browser URL parser normalizes Unicode hosts to punycode, which is the form actually sent on the wire. This page shows the same value and raises a note when the conversion happens.
It never fetches the address, follows redirects or judges whether a URL is safe. It only splits the string you typed into its components.