JSON to Query String

Paste JSON, configure how nested objects and arrays are encoded, and generate a URL query string. Runs entirely in your browser.

Private by architecture: All processing is 100% client-side memory. Your data never leaves this browser tab.
JSON input
0 lines · 0 charsJSON
Query string output
Ctrl/Cmd+Shift+C
0 charsQuery String

About This Tool

Serializes a JSON object into a URL query string, with separate controls over how nested objects and arrays get encoded, useful for building API request URLs, debugging query parameters, or producing payloads for systems that expect flat key=value pairs. The same panel also runs in reverse: switch Direction to parse an existing query string back into JSON.

The reverse direction here uses a fixed, auto-detecting array format with no type coercion. For finer control going query string → JSON, comma-separated arrays, number/boolean/null parsing, or pasting a full URL, use Query String to JSON instead.

Key Features

  • Direction toggle: JSON → Query String by default, or flip to Query String → JSON with the ⇌ button.
  • Nested-object encoding: bracket (a[b]=1), dot (a.b=1), or JSON-string.
  • Array encoding: repeat (a=1&a=2), comma, bracket, or JSON-string.
  • Encode, null-inclusion, and sort-keys toggles: control exactly which characters and keys make it into the output.
  • Leading ? prefix option: produces a string ready to paste straight after a URL.

Example

Default options applied to a typical API filter payload:

{
  "page": 2,
  "limit": 20,
  "tags": ["api", "json"],
  "filter": {
    "status": "active"
  },
  "enabled": true,
  "empty": null
}

produces:

page=2&limit=20&tags=api&tags=json&filter%5Bstatus%5D=active&enabled=true

FAQ

Can I convert query strings back to JSON?
Yes! Click the ⇌ swap button or toggle the Direction dropdown to parse query strings back into structured JSON.
Does this send my JSON anywhere?
No. Parsing and conversion happen in your browser with plain JavaScript. Nothing is uploaded.
What happens to null and empty values?
By default, null values are excluded and empty strings are included as an empty parameter value. Both are configurable above.
How are nested arrays of objects handled?
Each array item is encoded using the selected array style, recursing into the nested-object style for object items.