🔗 Query String Parser
Paste a URL or query string to see its parameters as clean JSON — or switch to build mode to turn JSON into a query string.
4 parameters · repeated keys become arrays
How the query string parser works
In parse mode the tool takes a full URL or a bare query string, keeps only the part after "?" (and drops any "#fragment"), splits it on "&", and decodes each key and value with percent-decoding (and "+" → space). Repeated keys — like tag=a&tag=b — are collected into an array, and the result is shown as formatted JSON. In build mode it does the reverse: a JSON object of key → value (or key → array) is encoded back into a properly percent-encoded query string.
Everything runs locally, so URLs with tokens or personal data stay in your browser. Parsing is lenient — it tolerates a missing "?", a leading "&", and values without an "=". Build mode expects a JSON object; use an array value to repeat a key.
Frequently asked questions
How do I parse a URL query string?
Paste the URL or just the part after "?". The tool splits on "&", decodes each key and value, and shows them as JSON. For example ?q=hello+world&page=2 becomes {"q": "hello world", "page": "2"}.
What happens with repeated parameters?
Keys that appear more than once — like tag=a&tag=b&tag=c — are grouped into an array: {"tag": ["a", "b", "c"]}. That preserves every value rather than keeping only the last.
Does it handle URL-encoded characters?
Yes. Percent-encoded sequences (%20, %C3%A9, etc.) and "+" for spaces are decoded, so "S%C3%A3o+Paulo" reads back as "São Paulo". Build mode re-encodes them correctly.
How do I build a query string from values?
Switch to build mode and enter a JSON object, e.g. {"q":"hello world","page":2}. The tool percent-encodes it into q=hello%20world&page=2. Array values repeat the key.
Is my URL sent anywhere?
No — parsing and building happen entirely in your browser with the standard encode/decode functions. URLs containing tokens, IDs or personal data never leave your device.