Query String ↔ JSON Pairs
Convert URL query parameters to JSON pairs and back. Preserve repeated keys, empty values, order and Unicode text.
How to use
Decode either a raw query, a leading-? query or a complete HTTP(S) URL. The JSON result is an array such as [["tag","one"],["tag","two"]], so repeated keys and their order remain intact.
Form encoding treats + as a space and %2B as a literal plus. All keys and values must be strings when encoding. Bracket notation is kept as text rather than interpreted as nested objects.
Behavior and limits
Use this for API filters, repeated tracking fields and form debugging. A bare flag and flag= both decode to an empty value; encoding normalizes them to flag=. Malformed percent escapes are rejected.
Questions & answers
Does it fetch the URL?
No. A pasted URL is only parsed locally; its host is never contacted.
Is my input uploaded?
No. Processing runs in your browser. This tool does not send your input to an API or save it in local storage. Text tools accept up to 200,000 characters.