Query String Builder
Build a URL query string from JSON parameters and parse one back to JSON, locally.
Convert between JSON and URL query strings
This tool builds a query string from a JSON object of parameters, or parses an existing query string back into JSON, so you can inspect or hand-edit the parameters of a link without piecing them apart by eye. It runs on URLSearchParams in your browser, which handles the percent-encoding and decoding for you. It's aimed at debugging redirect URLs, API request builders or tracking links where the parameter list is long or has repeated keys.
How to use the Query String Builder
- Paste a JSON object of key/value pairs into the JSON side, array values are expanded into repeated key=value pairs automatically.
- Switch direction to paste a raw query string, with or without a leading question mark, and get back formatted JSON.
- Check that repeated keys in the input parsed into a JSON array under Query String → JSON, this is intentional, not a bug.
- Copy the result or send it to another tool such as the URL parser for the full URL.
Values are stringified before encoding, so a JSON number or boolean becomes its plain text form in the query string; there is no type information carried in a query string itself, only strings.
A null or undefined value in the source JSON is encoded as an empty string for that key rather than being dropped, matching how many query-string libraries treat missing values.
Frequently asked questions
- How are duplicate keys like tag=a&tag=b handled?
- Parsing a query string with repeated keys collects them into a JSON array under that key, and building in the other direction expands a JSON array value back into one key=value pair per item, in order.
- Do I need to include the leading question mark?
- No, a leading question mark is stripped automatically before parsing, so you can paste either a bare query string or a full URL's search portion and get the same result.
- Does building a query string here send my data anywhere?
- No, both directions run through the browser's built-in URLSearchParams, so parameters such as session IDs or API keys in your test URLs stay in the page and are never transmitted.
- Why did my JSON array field fail to build?
- The builder only accepts a flat JSON object at the top level, not a bare array, so wrap your parameters in an object first; nested arrays as individual property values are fine and expand to repeated keys.