
URL parser
Break a URL into scheme, host, port, path segments and decoded query parameters, with the host punycode-decoded when it is an internationalized domain. Runs on your device.
URL parser takes a URL apart into its scheme, host, port, decoded path segments and every query parameter, punycode-decoding an internationalized domain's host while showing the Unicode form beside it. Query parameters print one per line in the order they appear, even when a key repeats. An invalid URL string surfaces the browser's own parse error, refused rather than guessed at.
Questions
What parts does it break the URL into?
Scheme, host, port, path segments (decoded), and every query parameter, plus the fragment.
How does it handle an internationalized domain?
It punycode-decodes the host and shows the Unicode form alongside the ASCII xn-- form when they differ.
What if I give a malformed URL?
The tool refuses with the browser's own URL parse error attached.
How are repeated query keys shown?
Each occurrence is listed on its own line, query[0], query[1] and so on, rather than being merged.
Does it need a scheme?
Yes, the input must be an absolute URL the URL constructor accepts; a bare path or host alone is refused.
Compare
| Tool | Runs on the CLI | Live as you type |
|---|---|---|
| URL parser | Yes | Yes |
| MIME type lookup | Yes | Yes |
| HTTP status reference | Yes | Yes |
| User-agent parser | Yes | Yes |
| Regex tester + explainer | Yes | Yes |
| docker run → compose | Yes | Yes |
| String escape / unescape | Yes | Yes |