Turn ?a=1&b=foo into a flat JSON object. Part of the DevTools Surf developer suite. Browse more tools in the Web / Frontend collection.
Use Cases
Converting URL query parameters to JSON for API request bodies
Debugging OAuth callback URLs by parsing their query parameters
Extracting UTM tracking parameters from marketing URLs
Transforming search filter URLs into structured data for logging
Tips
Paste a full query string starting with ? or just key=value pairs
Nested bracket notation like a[b]=1 is parsed into objects
Use the JSON output to build request payloads in code
Fun Facts
Query strings were part of the original URL specification (RFC 1738, 1994) and are separated from the path by the '?' character, a convention unchanged for 30 years.
The maximum query string length varies by server: Apache defaults to 8,190 characters, while Nginx allows up to 4,096 by default.
The application/x-www-form-urlencoded content type, used for query strings, was defined in the HTML 2.0 spec (RFC 1866) in 1995.
FAQ
How does it handle nested keys?
Bracket notation (`user[name]`) becomes nested JSON. Dot notation in the query (`user.name`) can also become nested via toggle.
What about arrays?
Repeated keys (`tag=a&tag=b`) become an array. Bracket arrays (`tag[]=a`) also work. Single values don't become arrays by default.
Does it URL-decode values?
Yes automatically. %20 becomes space, %3D becomes =, etc. Toggle off only if you want raw percent-encoded strings.
What if the same key appears with and without brackets?
Ambiguous — the tool favors the bracket-array interpretation. Normalize your query strings on the server side to avoid this.