Query string encoder / decoder

Convert ordered JSON string pairs to a form query string and back.

Text Stateless

Maximum input length per field: 65536 Unicode code points. See the operation limits in the instructions.

Quick guide

Try it with your own data when you’re ready.

Try an example

You enter

Query string or JSON pairs
[["q","a b"],["tag","x"],["tag","y"]]
Operation
Encode

You get

q=a+b&tag=x&tag=y
How it works & limits

Encoding expects an array of [key,value] string pairs, with nonempty keys and at most 1000 pairs. Decoding returns the same pair structure, preserving duplicates and order.

Spaces encode as +; + decodes as space. A leading ? is optional when decoding.

Use a query only, not a whole URL; malformed escapes or UTF-8 are rejected.