Skip to content
Allin

Query String Builder

Build a URL query string from key/value rows with correct percent-encoding, array syntax options and a UTM preset — or parse an existing URL back into rows.

Query String Builder is free to use as often as you like, directly from this page. It sits under Data & computing in our catalogue, alongside JSON to query string and Query string to JSON.

How to use it

  1. Open the tool — no signup or install needed.
  2. Enter your input or adjust the available options.
  3. Get your result instantly, then copy or download it.

Frequently asked questions

What is Query String Builder?

Build a URL query string from key/value rows with correct percent-encoding, array syntax options and a UTM preset — or parse an existing URL back into rows.

When would I actually use this?

Finding out how big a thing will be before you make it: how many gigabytes an hour of footage takes, how long a file needs on the connection you have, how large a photo prints before it goes soft, what bitrate fits the budget you were given.

What is the most common mistake?

Taking the advertised connection speed as the transfer speed. A 100 Mb/s line is megabits, the file is in megabytes, and the eight-fold difference between them is where most download estimates go wrong — before overhead and contention take their own share.

How is Query String Builder different from JSON to query string?

They sit next to each other but answer different questions: JSON to query string is the one to open when you need it to turn a flat JSON object into a URL query string. Pick whichever matches what you're starting from — both are free.

Is there a tool for the next step?

Query string to JSON is the closest one after this: Parse a URL query string into JSON and build one back. Repeated keys become an array, tag[]= and filtre[prix]= expand into arrays and objects, + is a space and %C3%A9 is é.

What else is worth having open alongside it?

JSON String Escape / Unescape and ASCII Table Reference — they come up in the same task often enough to be worth a second tab.

Where do the figures come from?

Byte prefixes follow the IEC convention where a kibibyte is 1 024 bytes and a kilobyte is 1 000 — drive makers use the second, operating systems often report the first, and a disk that shrinks on arrival is that gap and nothing else. Print sizing assumes 300 dpi unless you change it.

Further reading

All guides
GuideBuilding a URL With Parameters That Survives a Copy-PasteThree encodings, one visible difference: %20 or +. The builder's form mode matches URLSearchParams byte for byte on seventeen values — but give it a base URL with a fragment and every parameter lands inside the hash, where no server sees it.ExplainerThe Golden Hour and the Blue Hour Are Angles, Not HoursGolden hour runs from +6° to −4° of solar elevation and blue hour from −4° to −6°, which is why it lasts forty minutes at the equator, over an hour at mid-latitudes, and above 72.6° in June does not happen at all. The thresholds this calculator uses, checked against its own output.ExplainerDepth of Field: What Actually Controls ItFour variables set depth of field, and subject distance dominates the other three. The exact formulas, a computed table, why the circle of confusion is a decision rather than a measurement, and what "full frame has less depth of field" really means.ExplainerThe Exposure Triangle Is Three Routes to the Same StopA stop is a factor of two in light. The f-number scale is powers of √2 for a reason you can derive in one line, EV = log2(N²/t) puts a number on it, and the three controls are equivalent in brightness only — never in the picture.ExplainerCrop Factor: What It Changes and What It Does NotCrop factor is a ratio of sensor diagonals. It changes framing, not the lens — proved by computing field of view both ways — and it applies to the f-number as well as the focal length, which is the half most articles leave out.ExplainerEscaping a String for JSON: Three Characters Are Mandatory, and One Is a TrapRFC 8259 requires exactly three things to be escaped inside a JSON string. Everything else is optional. The one that actually breaks pipelines is a lone surrogate — legal in JSON text, impossible in UTF-8, and silently replaced the moment your data is written out.