This query string builder turns name and value rows into one query string. It calls URLSearchParams and reads toString(). It does not contain a second encoder. encodeURIComponent is not used for the result, because that function writes a space as %20 and would not round-trip through the URL Query String Parser.
A space in a name or a value becomes +. Duplicate names stay in row order, each on its own key. An empty value is valid and becomes name=. The value is not trimmed, so a deliberate leading or trailing space remains part of the value. The name is trimmed only to decide whether it is blank. The characters that are sent are the ones you typed, including those spaces.
A question mark, ampersand, equals sign, or hash typed into a field is data, not syntax. The builder does not treat a leading ? inside a field as the start of a query. The optional Prefix with ? control adds one question mark in front of the finished string and nowhere else.
The result is form encoding. It is not a validated URL, not a scheme, and not a path. There is no address field, no Open button, and no Send button. Nothing is written into the address bar. The URL Encoder / Decoder still encodes one component, and a space there stays %20. Use that page when you need a single component. Use this page when you need the joined query.
Enter in a name or value field builds. A blank name clears the previous output. More than 100 rows, a field over 2,000 characters, or an output over 8,000 characters does the same. The page does not return a shortened query.
Rows q / red apple and page / 2 build q=red+apple&page=2. With the prefix on, the box is ?q=red+apple&page=2. Parsing that string on the URL Query String Parser, which accepts one leading question mark, returns q = red apple and page = 2.
A value of a keeps both spaces, so the parser reads them back as spaces. A value of a&b=c is encoded inside the value. It does not become a second parameter. Two rows named tag stay two parameters. A row with a name and an empty value builds name=.
Encoding is not a safety check. A value can still be a string you should not publish. The builder only joins the rows you typed. It does not decide whether those parameters belong on a request, and it does not contact a server to find out.
If Build reports an error, the output box is empty. An earlier success is not left behind to be copied by mistake. Clear does the same, then restores a single empty row.
Builds a query string with URLSearchParams. Spaces become +. This is form encoding, not a checked full URL. A blank name is an error. Values keep their spaces. ?, &, =, and # typed in a field are data. Nothing is fetched, stored, or opened. Limits: 100 rows, 2,000 characters per field, 8,000 characters of output.
The builder uses URLSearchParams, which writes application/x-www-form-urlencoded. In that encoding a space is +. The URL Encoder writes %20 because it calls encodeURIComponent on one component.
There is no URL field. A question mark, ampersand, equals sign, or hash typed into a name or a value is data. URLSearchParams encodes it. The result is only the query string.
An empty value is kept. The row becomes name= with nothing after the equals sign. A name that is empty after trimming is an error, and the output is cleared.
No. The string stays in the readonly box. This page does not navigate, does not call fetch, and does not store the rows.