Paste a query string — or a whole URL — and see its parameters as a clean list and as JSON. Values are decoded for you, and keys that appear more than once are collected into an array. Everything runs locally in your browser.
Paste a query string to see its parameters.
How it works
The parser grabs everything after the first “?” (and ignores anything after a “#”), then reads it with URLSearchParams, the browser’s own query decoder. That means percent-escapes like %20 become spaces and a “+” is treated as a space, exactly matching how a web server would interpret the same string.
You get two views. The list shows every parameter in order, including repeats and empty values, so nothing is hidden. The JSON view is convenient for code: a key that occurs once maps to a string, and a key that repeats maps to an array of its values in order — ready to paste into a test or a config.
Practical examples
Reading UTM tags
?utm_source=news&utm_campaign=summer+sale becomes utm_source = news and utm_campaign = “summer sale”, with the + shown as a real space.
A multi-value filter
?tag=a&tag=b&tag=c lists three separate rows, and the JSON collapses them to {"tag":["a","b","c"]} — the shape most back ends expect.
Pasting a whole URL
Drop in https://shop.rs/search?q=laptop&max=1500#results and the tool ignores the path and fragment, returning just q = laptop and max = 1500.
Frequently asked questions
Can I paste a full URL or just the query part?
Either. If there’s a “?”, the tool uses everything after it; otherwise it treats your input as the query string directly. Anything after a “#” is ignored, since fragments aren’t part of the query.
How are encoded characters handled?
They’re decoded. %20 and “+” both become spaces, %26 becomes “&”, and so on — the standard application/x-www-form-urlencoded decoding that servers use, so what you see is what your code receives.
What happens with repeated keys?
In the list they each appear on their own row in order. In the JSON view they’re grouped into an array under that key, which is how frameworks like Express, PHP (with []), and many APIs model multi-value parameters.
Are parameters with no value kept?
Yes. A key like flag= (or just flag) is shown with an empty value rather than dropped, because a present-but-empty parameter can be meaningful — for example a toggle.
Does the order of parameters matter?
The list preserves the original order. The JSON object also preserves first-seen key order, and arrays keep the order the values appeared, so nothing is silently reordered.
What if the same key has different cases?
Query keys are case-sensitive, so Tag and tag are treated as different parameters — just as a server would treat them. They won’t be merged.
How is this different from the URL parser?
The URL parser breaks a whole URL into host, path, port and so on. This tool focuses only on the query string and gives you a JSON view of the parameters, which is handier when that’s all you care about.
Is my input uploaded?
No. Parsing is done in your browser, so query strings containing tokens or personal data stay on your device.
Related tools
URL Parser
Break any URL into protocol, host, port, path, query and hash, and list its decoded query parameters. In your browser.
Developer tools
URL Encoder and Decoder
Percent-encode text for URLs or decode it back, with component and full-URL modes. Runs in your browser.
Developer tools
CSV to JSON Converter
Convert CSV to JSON in your browser. Header-to-keys, custom delimiter and optional number/boolean parsing.
Developer tools
JSON Formatter
Beautify, validate or minify JSON in your browser — with clear error messages. Nothing is uploaded.
Developer tools
JSON to CSV Converter
Convert a JSON array of objects into CSV, right in your browser. Choose the delimiter; nested values are kept as JSON.
Developer tools
JWT Decoder
Decode a JWT to read its header and payload, with expiry and issued-at shown as dates. Local only — no signature verification.
Developer tools