URL Parser
Break any URL into protocol, host, port, path, query parameters and hash in your browser, with decoded parameter values and a JSON export.
Enter a URL
Use a base URL to resolve relative paths such as /products/item.
URL components
Enter a URL to inspect its components.
What a URL parser shows
A URL is not one string but a fixed set of parts: the scheme, the host and port, the path, the query string and the fragment. A parser separates them so you can see exactly which piece a server receives, which is the first step when a redirect, a cache key or a tracking link behaves unexpectedly.
Query parameters deserve their own view. The same value often appears percent-encoded as %E4%BD%A0 in the URL and as 你 once decoded, so this page lists the raw value and the decoded value side by side. Anything after the # is a fragment: it is never sent to the server, which is a frequent source of confusion.
How to parse a URL
- Paste the full URL into the input box. If it is a relative path, also paste the page URL it is resolved against into the optional base field.
- Press Parse URL.
- Read the Components table for protocol, host, port, path, search and hash, then check the Query parameters table for the decoded values.
- Use Copy JSON or Download .json if you want the whole breakdown in a bug report or a script.
URL parser examples
Tracking link with several parameters
https://shop.example.com/orders?utm_source=mail&utm_campaign=spring#top
host shop.example.com, path /orders, two query parameters with decoded values, hash #top
Percent-encoded Chinese query
https://example.com/search?q=%E4%BD%A0%E5%A5%BD
Raw value %E4%BD%A0%E5%A5%BD decodes to 你好 in the Query parameters table
Relative URL with a base
/blog/post-1 with base https://example.com/blog/index.html
Resolves to https://example.com/blog/post-1 before the parts are listed
UrsaKit vs other URL tools
| Dimension | UrsaKit | urlencoder.org | browserling | urlparser.com |
|---|---|---|---|---|
| Price | Free, no sign-up | Free | Free with limits | Free |
| Runs in | Your browser | Your browser | Their server | Their server |
| Splits into components | Yes | No | No | Yes |
| Decoded query values | Yes | Decode only | Decode only | Partial |
| Relative URL support | Yes, with a base field | No | No | No |
| JSON export | Yes | No | No | No |
Frequently asked questions
Is this URL parser free?
Yes. Parsing, the components table, the JSON copy and the download are free, with no account.
Is my URL uploaded?
No. The URL is parsed by the browser's built-in URL object, so it never leaves your device.
How is this different from URL decode?
URL decode only replaces percent escapes in a string. This page splits the URL into its components and shows both the raw and decoded value of every query parameter.
Can it parse a relative URL?
Yes, if you provide a base URL. The result matches what new URL(relative, base) produces in JavaScript.
What happens with repeated parameters such as a=1&a=2?
Both entries are kept in order and listed as separate rows, the same way URLSearchParams.getAll() returns them.
Why are the port or hash empty?
An empty port means the URL uses the scheme default, 80 for http and 443 for https. An empty hash means the URL has no fragment.