URL Parser & Query String Editor
Paste a URL to split it into protocol, host, path, query and hash. Edit, delete or reorder each query parameter and the final URL is rebuilt instantly. If you only need to escape a value, use the URL Encoder/Decoder.
🔒 Runs in your browser · Your data is never sent to a server
Used when the input is a relative URL such as "/path?x=1".
URL components
Rebuilt from the absolute URL resolved against the base.
The host is empty because the URL has no scheme (such as https://). Try adding https:// at the start.
Query parameters
This URL has no query parameters.
How to use
- Paste the URL into the "URL" field. For a relative URL, also fill in the base URL.
- Edit the components or query parameter rows. You can also add, remove and reorder them.
- Check the "Rebuilt URL" and press "Copy".
Notes
- URLs often contain tokens or passwords. What you enter is processed only in your browser and is never sent anywhere.
- The query is normalized when rebuilt (non-ASCII text is percent-encoded and spaces become "%20" by default), so the text may differ from your original.
- Parsing follows the browser's built-in URL rules. A string without a scheme such as localhost:8080/x may be read as having the scheme localhost.
- You can switch between special schemes (http, https, ftp, file, ws, wss), but not between a special and a non-special scheme.
Glossary
Query string
The part of a URL from "?" up to "#". It is a list of key=value pairs joined by "&", and the same key may appear more than once.
Fragment (hash)
The part after "#". It points to a position in the page and is never sent to the server.
Relative URL
A URL such as "/path" or "../a" with the scheme and host omitted. It is resolved against a base URL to form an absolute URL.
FAQ
How are repeated keys like ?a=1&a=2 handled?
Each repeated key appears as its own row in order, and the order and count are preserved when the URL is rebuilt. Duplicate keys are also listed above the parameters as a heads-up.
How do I parse a relative URL?
Enter an absolute base URL such as https://example.com/dir/ in the base field. A relative URL like "../a?x=1" is resolved against it before being split. If the input is already absolute, the base is ignored.
Why does the rebuilt URL differ slightly from my original?
The query is normalized to percent-encoding. Spaces become "%20" (or "+" if you choose), non-ASCII text becomes UTF-8 percent-encoding, and the hostname is lowercased.
Is it safe to paste a URL that contains a token?
The URL is processed in your browser and never sent to a server. Still, a screen share or screenshot can reveal it, so mask the values before sharing.
Share this page
