Query String to JSON
Parse a URL or query string into JSON, decoding values and grouping repeated keys into arrays.
Paste or drop
Paste text below, or drop a file instead.
Choose an output
Parse a URL or query string into JSON, decoding values and grouping repeated keys into arrays.
Fine-tune
Optional — sensible defaults are already set.
About Query String to JSON
Paste a full URL or just the part after ? and this tool parses the parameters into a JSON object. Keys and values are URL-decoded with + treated as a space, repeated keys are grouped into arrays, and bracket syntax like user[name]=x can be expanded into nested objects.
When it helps
- Reading a long UTM-tagged marketing URL or analytics beacon.
- Inspecting an OAuth authorization request or callback to see every parameter.
- Debugging how a PHP, Rails or qs-style backend will interpret bracketed form fields.
Tips
- Anything before the ? and after a # fragment is ignored, so you can paste the whole address.
- Both & and ; are accepted as separators.
- Turn off bracket parsing if your keys literally contain [ and ] and should be kept flat.
- A key without = gets an empty string value, so ?debug becomes {"debug": ""}.
Good to know
Quick answers about query string to json in your browser.
They are collected into an array: {"tag": ["a", "b"]}. The same happens with tag[]=a&tag[]=b when bracket parsing is on.
No. Query strings carry text only, so page=2 becomes "2". Converting types is left to your code, which knows which fields should be numeric.
Yes. There is no sign-up, no watermark and no limit on how many files you process.
No. Files are read and processed locally in your browser, so they never leave your device.
Related tools
Part of the JSON, YAML & XML Tools collection.