Query String Parser
Turn a URL query string into clean key value pairs or JSON, or build a valid encoded query string from your own pairs. Repeated keys are kept.
How to parse a query string
- Paste a query string such as a=1&b=2 or a full ?a=1&b=2 into the box.
- Choose to JSON to read the parsed pairs, or to query to encode pairs back.
- Copy the result.
Examples
Repeated keys become an array in JSON
tag=a&tag=b&q=hi%20there
{ "tag": ["a", "b"], "q": "hi there" }Frequently asked questions
How are repeated keys handled?
In the pair list each key stays separate. In JSON, a key that appears more than once becomes an array of its values, in order.
Does it decode percent-encoded characters?
Yes. Keys and values are percent-decoded, and a plus sign is treated as a space, matching how browsers read query strings.
What about a key with no value?
A bare key like flag with no equals sign is parsed with an empty string value, so the key is preserved.
Can I include a leading question mark?
Yes. A leading question mark is stripped automatically, so both a=1&b=2 and ?a=1&b=2 parse the same way.
Is anything uploaded?
No. Parsing and building both run in your browser, so your data never leaves the page.
Related tools
URL Parser
Parse a URL into protocol, host, port, path, query and hash. See every query parameter in a clean table. Free, private and runs in your browser.
URL Encoder
Encode or decode URLs and query strings online. Percent-encode a value, escape a full URL, or decode back to plain text. Free, fast and private.
.env to JSON
Convert a .env file to JSON, or JSON back to .env. Parses KEY=value lines, comments, quotes and export. Runs entirely in your browser.
Aspect Ratio Calculator
Calculate aspect ratios fast. Enter a ratio like 16:9 and one dimension to get the other, or enter width and height to simplify the ratio.
Base32 Encode
Base32 encode and decode text online using the standard RFC 4648 alphabet with proper padding. UTF-8 safe, fast and private in your browser.
Base58 Encoder
Encode and decode Base58 online with the Bitcoin alphabet. Convert text to Base58 or back, UTF-8 safe, no confusing 0 O I l. Runs in your browser.