Query String to JSON Converter
Convert a URL query string to pretty JSON and back again in your browser. Your parameters stay on your device.
The Query String to JSON converter parses and builds everything locally in your browser. The query strings, URLs, and JSON you paste — including any tokens or IDs inside them — never leave your device and are not uploaded to ArrayKit.
Open the JSON Formatter to tidy the result
About Query String to JSON
The Query String to JSON converter turns a URL query string into clean, readable JSON and converts JSON right back into a query string. Paste a raw query — with or without a leading question mark, or an entire URL — and it decodes percent-encoded values, groups repeated keys like ids=1&ids=2 into arrays, and expands nested bracket keys such as filter[status]=active and dot keys like filter.status into structured objects. Switch direction to serialize a JSON object into an encoded query string for links, API calls, or analytics parameters. It is built for developers, QA engineers, and marketers untangling tracking links or debugging request parameters. Everything is parsed in your browser, so the URLs and payloads you paste stay on your device and are never uploaded.
Features
- Converts a URL query string into pretty, indented JSON as you type
- Serializes a JSON object back into an encoded query string
- Expands nested bracket keys like a[b]=1 and dot keys like a.b=1 into objects
- Groups repeated keys such as tag=x&tag=y into JSON arrays
- Decodes percent-encoded values and treats + as a space
- Accepts a bare query string, a leading ?, or a whole URL
- Copy the result or download it as a .json or .txt file
- Runs entirely in your browser, so parameters never leave your device
How to use the Query String to JSON
- Keep the Query string → JSON tab selected.
- Paste a query string or a full URL into the input box.
- Read the formatted JSON, then copy it or download it as a .json file.
- Switch to JSON → Query string and paste a JSON object to build an encoded query.
Example
Input
filter[status]=active&ids=1&ids=2&q=hello%20world
Output
{
"filter": {
"status": "active"
},
"ids": [
"1",
"2"
],
"q": "hello world"
}
Repeated keys become an array, bracket keys nest, and %20 decodes to a space.
Common errors & troubleshooting
- The whole query collapsed into one odd key with brackets left in its name. — Nesting deeper than five levels is not expanded; flatten the key or split the query so each bracket group stays within five levels.
- JSON → Query string reports 'Enter a JSON object of key/value pairs.' — The top level must be an object like {"a":"1"}. A bare array, string, or number has no parameter names to build a query from.
- Numbers and booleans came back as strings after a round-trip. — A query string carries text only, so 2 and true serialize to "2" and "true"; cast them back to the right type in your own code after parsing.
- A + inside a value turned into a space. — Query strings treat + as an encoded space. Write a literal plus as %2B when you need the character preserved, then convert.
Frequently asked questions
- How does the converter handle repeated query keys like tag=a&tag=b?
- Repeated keys are collapsed into a JSON array, so tag=a&tag=b becomes {"tag":["a","b"]}. When you convert back, the array expands into repeated keys again.
- Can it parse nested parameters such as filter[status]=active?
- Yes. Bracket keys like filter[status]=active and dot keys like filter.status=active both expand into nested JSON objects, and nested objects serialize back to bracket keys.
- Why are all my JSON values strings after converting a query string?
- A query string only carries text, so every value parses as a string, including numbers and booleans. Convert them to the right type in your own code once you have the JSON.
- How do I turn a JSON object into a query string?
- Switch to the JSON → Query string tab and paste a JSON object. Nested objects become bracket keys, arrays become repeated keys, and values are percent-encoded for you.
- Does it accept a full URL or only the query part?
- You can paste a whole URL — everything before the ? and any #fragment is stripped automatically — or just the raw query string with or without a leading ?.
- Are the URLs and parameters I convert kept private?
- Yes. Parsing and serializing happen entirely in your browser, so the query strings and JSON you paste stay on your device and are never uploaded to ArrayKit.
Related tools
- URL Parser — Break a URL into its parts and list query parameters.
- URL Builder & UTM Generator — Construct and validate fully encoded production URLs with standard analytics query flags (UTM) or custom query arrays.
- JSON Formatter — Beautify, minify and validate JSON with error locations.
- JSON to CSV — Convert an array of flat JSON objects to CSV.
- HTML Escape / Unescape — Escape and unescape HTML special characters and entities.
- Meta Tag Generator — Generate SEO, Open Graph and Twitter Card meta tags for your page from a simple form.
All ArrayKit tools