Query String to JSON Converter

Parse URL query parameters, full URLs, and bracket-encoded structures into clean JSON. Client-side only.

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

About This Tool

Parses a URL query string, or a full URL, stripping everything before ? and after #: into structured JSON, resolving bracket notation and repeated keys into nested objects and arrays. Optional type coercion turns page=1, verified=true, and null-like values into native JSON types instead of leaving everything as strings.

Going the other way, this page's JSON → Query String direction uses fixed serialization settings (bracket nesting, repeated arrays, no sorting). For full control over nesting and array style when converting JSON to a query string, use JSON to Query String instead.

Key Features

  • Full-URL pasting: scheme, host, and path before ? are stripped automatically.
  • Two array formats: auto-detect brackets/repeated keys, or comma-separated values.
  • Independent type-coercion toggles: parse numbers, booleans, and null each on their own.
  • Bracket-notation nesting - filter[status]=active resolves into a nested object.
  • Direction toggle: swap to JSON → Query String from the same panel.

Example

A full URL with a repeated array param and bracket-notation nested keys:

https://api.example.com/v1/search?query=developer+tools&tags=json&tags=api&filter[status]=active&filter[verified]=true&page=1

converts to (with "Parse numbers" and "Parse booleans" checked):

{
  "query": "developer tools",
  "tags": ["json", "api"],
  "filter": { "status": "active", "verified": true },
  "page": 1
}

FAQ

Can I paste a full URL, not just the query string?
Yes. Anything before ? and after # is stripped automatically, so you can paste the entire URL or just the raw key=value&... part.
How are nested objects and arrays represented?
Bracket notation like filter[status]=active becomes a nested object. Arrays can use bracket suffixes (tags[]=a&tags[]=b), repeated keys (tags=a&tags=b), or, with the array format set to "Comma-separated", a single tags=a,b,c value.
What do the "Parse numbers / booleans / null" checkboxes do?
They control whether string values that look like numbers (page=1), booleans (verified=true), or the literal null/empty value are converted to their native JSON types instead of staying strings.
Does it convert JSON back to a query string?
Yes, switch Direction to "JSON → Query String" (or click the ⇌ swap button) to serialize a JSON object back into a bracket-notation, percent-encoded query string.
Is the conversion done client-side?
Yes, parsing and serialization both run entirely in your browser; no query data or JSON is sent to a server.