Parsing
?q=red+shoes&size=9&size=10&empty= → {"q": "red shoes", "size": ["9", "10"], "empty": ""}.
Turn a query string into JSON, or build one from JSON, with repeated keys as lists.
Runs in your browser — nothing you enter is sent to a server.
Query → JSON: paste a query string such as ?q=red+shoes&size=9, or a whole URL, and get a JSON object. Values are decoded the way browsers read form data: + is a space, and a name that appears more than once becomes a list.
JSON → query: paste a JSON object and get a correctly encoded query string. Lists become repeated names; true, false and numbers become text; null becomes an empty value. Nested objects have no standard form in query strings, so they are refused with a suggestion.
?q=red+shoes&size=9&size=10&empty= → {"q": "red shoes", "size": ["9", "10"], "empty": ""}.
{"q": "red shoes", "size": [9, 10], "sale": true} → ?q=red+shoes&size=9&size=10&sale=true.
A query string is text; size=9 and size=09 are different strings. Convert values in your code where you know their types.
Everything except letters, digits and *-._ is percent-encoded in UTF-8, and spaces become +: é&b becomes %C3%A9%26b.
PHP and some frameworks read brackets as nesting, but browsers and the URL standard don't. Here the name is kept as written, for example "a[b]": "1".
Split a URL into scheme, host, port, path, query parameters and fragment.
Developer Tools
Percent-encode text for URLs and query strings, or decode %20-style encoded text back to readable text.
Developer Tools
Format, validate and minify JSON, with the exact line and column of any error.
Developer Tools