Convert a URL Query String to JSON
Paste a query string — with or without the leading ? — to turn it into a JSON object. Percent-encoding is decoded, + becomes a space, and repeated keys collapse into an array.
What a query string is
It is the key=value&key=value part of a URL after the ?. This tool splits it on &, then on the first = in each pair, so values containing = survive intact.
Decoding rules
Percent-encoding is decoded (%20 becomes a space, %40 becomes @) and a literal + is treated as a space, matching how browsers encode form data. Keys are decoded the same way.
Repeated keys
A query string can repeat a key — tag=a&tag=b. Rather than lose the first value, this converter collects repeats into an array. A key that appears once stays a plain string.
FAQ
Are values typed?
No. Query strings are text, so every value stays a string — even 36. Convert types deliberately in your own code afterwards.
What happens to a key with no value?
A bare key like flag becomes an empty string. That mirrors how servers usually see it.
Does it handle nested keys like a[b]=1?
It keeps the literal key 'a[b]'. Bracket-nesting is framework-specific (PHP, Rails); parse those brackets yourself if you need real nesting.