Query String Builder
Builds and encodes a query string from editable key/value pairs.
No parameters to include
—
What a query string is
It's the part of a URL after the "?": each "key=value" pair you edit here becomes an encoded pair, joined by "&". Used to send parameters along with the address — a campaign tracking parameter (utm_source, utm_campaign...), a pagination/filter parameter on a listing, or a parameter on a REST API GET call. This tool builds and encodes those pairs automatically from the editable list above — the inverse of the Query String Parser, which extracts pairs from a text that's already assembled.
Limitations
Doesn't compose a full URL in this version — only the isolated query string (e.g., "a=1&b=2"), with no base URL field (see FAQ). Rows can't be reordered by dragging — the final order follows the order the pairs appear in the list, top to bottom. A row with both key and value left empty is automatically omitted from the result.
Frequently asked questions
A row is only omitted when both the key and the value are empty — the common case of an extra row left over in the list without being edited. This avoids accidentally generating a stray "&=". A row with only the key filled in (e.g., "debug", no value) is still included normally — the empty value in that case is real information, not something to discard.
It's the encoding convention used by HTML forms (application/x-www-form-urlencoded) — the same one the Query String Parser already decodes in the opposite direction. "URLSearchParams", the native API used here, follows that convention by default.
Yes — each row becomes an independent pair in the output, in the order it appears, even if two or more rows share the same key (e.g., "tag=js&tag=css"). The tool never groups or turns that into an array — the same transparency principle already used by the Query String Parser.
A scope decision for this first version: keep the tool focused only on the query string, the part that actually varies from case to case. Just paste the result after the "?" of any URL you already have.
Not in this version — the list order, top to bottom, is the final query string order. To change a pair's position, remove it and add it again in the desired order.
No — all the building happens in the browser, with native "URLSearchParams". No data ever leaves your machine.