JSON to Query String

Convert a JSON object into a URL query string, with full control over nested objects, arrays and encoding.

Paste a JSON object above to build its URL query string.

No uploads. Your files stay on your device.

Free forever, no sign-up, no cookies. Buy me a coffee

How it works

Paste a JSON object and it is flattened into a URL query string as you type. Nested objects become user[name]=Ada (bracket notation), user.name=Ada (dot notation) or a single JSON-encoded value, whichever your API expects. Arrays can repeat the key, use empty brackets, use numeric indices or collapse into one comma-separated value — the four conventions used by Express/qs, PHP, Rails and OpenAPI. Keys and values are escaped with encodeURIComponent, and you choose whether a space becomes %20 or +.

Add a base URL to get a complete, ready-to-paste link (an existing ? is respected, so extra parameters are appended with &). Null and empty values are skipped by default, and keys can be sorted alphabetically so two requests are easy to diff. The parameter table shows every decoded key/value pair so you can check the result at a glance. Everything runs in your browser with the native JSON parser — nothing is uploaded, so it is safe for tokens, IDs and internal API payloads.

Frequently asked questions

How do I convert JSON to a query string?

Paste a JSON object into the box and the query string is built as you type. Each top-level key becomes a parameter, values are escaped with encodeURIComponent, and you can add a base URL to get a complete link. Use Copy query string or Download .txt to take the result with you.

How are nested objects and arrays encoded?

You choose. Nested objects can use bracket notation (user[name]=Ada), dot notation (user.name=Ada) or be encoded as a single JSON string. Arrays can repeat the key (tags=a&tags=b), use empty brackets (tags[]=a), use numeric indices (tags[0]=a) or collapse to one comma-separated value — matching Express/qs, PHP, Rails and OpenAPI conventions.

Should a space become %20 or a plus sign?

Use %20 for a standard RFC 3986 URL query string; use + only if the receiver parses the query as application/x-www-form-urlencoded, as PHP and many form handlers do. This converter has a switch for both, so you can match whatever your API expects. Everything runs in your browser, so no payload is ever uploaded.

Report a bug