TOOLGRIDTOOLGRID
HomeImage ToolsPDF ToolsVideo ToolsAudio Tools
More
Dev ToolsWeb & SEOCategoriesText ToolsCalculatorsHow we testAbout
Menu
HomeImage ToolsPDF ToolsVideo ToolsAudio ToolsDev ToolsWeb & SEOCategoriesText ToolsCalculatorsHow we testAbout
109 tools live
TOOLGRIDTOOLGRID

The full toolbox remains available when you need a specific utility.

Β© 2026 TOOLGRID. All rights reserved.

Tools

Image ToolsPDF ToolsVideo ToolsAudio ToolsConvertersDev ToolsWeb & SEOText ToolsCalculators

Resources

CategoriesHow we testPrivacy Policy

Company

AboutTermsContact
Web & SEO
  1. Home
  2. Web & SEO Tools
  3. Query String Builder
Part of Web & SEO Tools β†’

Query String Builder

Compose URL query strings from key-value rows β€” repeated keys for arrays, automatic percent-encoding, live preview.

Use this tool
Browser-local processingNo input upload to TOOLGRIDReview before copy
DEVELOPER workflowQuery String Builder capability card
Input
Pasted code or structured data
Output
Query String Builder result
Runtime
Browser APIs
Reviewed
2026-07-17
Browser-local workspaceStart below with browser-local processing.

Tool code processes selected files and entered content in your browser and does not submit them to a TOOLGRID processing endpoint. TOOLGRID measures tool usage, not the content you enter.

  • No TOOLGRID input upload
  • No account
  • Review before copy

Loading tool…

Browser-based

What this tool does

01

Free in-browser query string builder. Add key-value rows, get a fully percent-encoded query string back. Repeated keys produce array-style parameters (tag=a&tag=b). Use it to build API request URLs, deep links, campaign URLs, or any URL with parameters. Tool code does not submit entered values to a TOOLGRID processing endpoint.

02

Add one row per parameter. The tool concatenates them into a percent-encoded query string in the format ?key1=value1&key2=value2, updated live as you type. Copy the result and append it to any URL.

03

Repeated keys are supported natively β€” add the same key on multiple rows and you get array-style output (?tag=alpha&tag=beta&tag=gamma). This is the standard convention consumed by Express's qs parser, Rails strong parameters, Spring's @RequestParam List<>, and most modern frameworks. No special bracket syntax required.

04

Encoding uses the browser's built-in URLSearchParams, so values with spaces, ampersands, equals signs, emoji, or full Unicode are escaped correctly. You get the same percent-encoding the browser would produce when serializing a form β€” trustworthy without round-tripping through DevTools.

05

This tool composes, it does not parse. To break an existing URL apart into its query parameters, use our URL Parser. For campaign-specific UTM workflows, see the UTM Builder and Campaign URL Workspace. Tool code does not submit entered values to a TOOLGRID processing endpoint; no sign-up is required.

Representative tasks

Where this tool earns its place

Build campaign URLs with UTM parameters

Add rows for utm_source, utm_medium, utm_campaign, utm_content, and utm_term. The builder encodes spaces and special characters in campaign names automatically β€” no more broken Google Analytics attribution from malformed URLs.

Construct API request URLs for testing

When testing a REST or GraphQL endpoint in Postman, curl, or a browser, build the query string here first so every value is properly encoded. Especially useful when one of your filter values contains a comma, slash, or equals sign.

Generate array-style parameters for filters

Faceted search and tag filters typically use repeated-key parameters (?category=books&category=ebooks&category=audio). Add the same key on multiple rows and the builder outputs them in the format Express, Rails, and most backends expect by default.

Boundaries

What to check before relying on the result

  • Performance and maximum practical input size depend on browser memory, device speed, and the structure of the input.
  • Review the generated result before replacing or publishing an original file.
MDN Web APIs
Continue this workflowUseful next steps

Open a nearby browser tool when you need to validate, convert, or reuse the result.

Current result
OutputValidation outputActionInspect result
URL Parser & Query String DecoderWeb & SEOLocalOutputValidation outputActionInspect resultStart locally→URL Encoder & Decoder — Convert Text to URL-Safe FormatConvertersLocalOutputConverted outputActionCopy resultStart locally→UTM BuilderWeb & SEOLocalOutputTracked URLActionInspect resultStart locally→

How to use

01
01Edit the seeded rows or add new rows with the + button. Enter a key and value on each row.
02Watch the preview update live β€” the percent-encoded query string is shown as you type.
03Copy the generated string and append it to your base URL with a leading ? (or & if you're concatenating to an existing query).

Use Cases

Build campaign URLs with UTM parameters

Add rows for utm_source, utm_medium, utm_campaign, utm_content, and utm_term. The builder encodes spaces and special characters in campaign names automatically β€” no more broken Google Analytics attribution from malformed URLs.

Construct API request URLs for testing

When testing a REST or GraphQL endpoint in Postman, curl, or a browser, build the query string here first so every value is properly encoded. Especially useful when one of your filter values contains a comma, slash, or equals sign.

Generate array-style parameters for filters

Faceted search and tag filters typically use repeated-key parameters (?category=books&category=ebooks&category=audio). Add the same key on multiple rows and the builder outputs them in the format Express, Rails, and most backends expect by default.

Compose mobile app deep links

Deep links of the form myapp://path?source=email&campaign=spring-sale need the same percent-encoding rules as web URLs. Build the query portion here, then append it to your custom scheme prefix.

Round-trip a query string with URL Parser

Build a query here, paste it into our URL Parser to verify Google sees what you intended, edit any rows that need adjustment, and copy the final version. The two tools are designed to be used together.

Tips & Tricks

  1. 01
    Repeated keys produce array parameters

    Want ?tag=a&tag=b&tag=c? Just add three rows with key=tag and different values. This is the standard format consumed by most backend frameworks. No need for ?tag[]=a&tag[]=b unless your specific framework requires it (some older PHP setups do).

  2. 02
    Spaces become %20 β€” or + in form submissions

    URLSearchParams encodes spaces as %20 in URL query strings, which is correct for URLs. Some HTML form submissions encode spaces as +. Both decode back to a space; if your backend complains, normalize on one form before sending.

  3. 03
    Empty values produce key=, not just key

    A row with a key and an empty value outputs key= (key followed by equals followed by nothing). To omit the parameter entirely, delete the row instead of leaving the value blank. Some APIs treat key= as a falsy value, others as absent β€” be explicit about your intent.

  4. 04
    The hash fragment is not a query parameter

    Everything after # is the hash fragment, parsed separately by the browser and never sent to the server. Build your query string here, then append a hash manually if your single-page app needs one (e.g., #!/route/123).

FAQ

02
Are keys and values automatically URL-encoded?

Yes. Encoding uses the browser's built-in URLSearchParams API. Spaces become %20, ampersands become %26, equals signs become %3D, and full Unicode (including emoji) is escaped to its UTF-8 percent form. The output is safe to append to any URL without further escaping.

Does it handle repeated keys for array-style parameters?

Yes. Add the same key on multiple rows β€” the builder includes each row's value as a separate parameter in the output (e.g., tag=alpha&tag=beta). This matches what Express's qs parser, Rails strong parameters, and most modern backends consume by default.

Can I parse an existing query string back into rows?

Not in this tool β€” it's a builder, not a parser. To break a query string apart, use our URL Parser, which decomposes the full URL (protocol, host, path, query, hash) and lists every parameter with auto-labeled UTM and tracking tags. Build here, parse there.

What's the difference between this and the UTM Builder?

This tool is a generic any-parameter builder β€” keys and values are freeform. The UTM Builder is purpose-built for Google Analytics campaign URLs with named fields (Source, Medium, Campaign, Content, Term) and validation specific to UTM conventions. Use UTM Builder if you only need campaign URLs; use this when you need arbitrary query parameters for APIs, filters, or deep links.

Does the tool support empty values or empty keys?

Empty values output key= (a key followed by an equals sign and nothing). Empty keys are skipped β€” a row with no key contributes nothing to the output. To remove a parameter, delete the row instead of clearing one of its fields.

Is my data sent to a server?

The URLSearchParams API is built into every modern browser, and the tool runs in your browser. Tool code does not submit entered keys, values, or generated query strings to a TOOLGRID processing endpoint. Review browser extensions and device security before handling sensitive parameters.

Will the output work with my framework's query parser?

For repeated keys (arrays), yes β€” Express qs, Rails strong parameters, Spring @RequestParam List, ASP.NET model binding, and Go's url.Values all accept the standard ?key=a&key=b format. PHP defaults are an exception: you may need ?key[]=a&key[]=b β€” type the brackets explicitly in your key field if so.

Related tools

03
Local

URL Parser & Query String Decoder→Start locallyNo TOOLGRID input upload

Break any URL into protocol, host, path, query, and hash β€” UTM-labeled, double-encoding flagged, JSON output.

Validation outputInspect result

Local

URL Encoder & Decoder — Convert Text to URL-Safe Format→Start locallyNo TOOLGRID input upload

Encode text for URLs or decode encoded URL values.

Converted outputCopy result

Local

UTM Builder→Start locallyNo TOOLGRID input upload

Build campaign URLs with UTM source, medium, campaign, term, and content fields while preserving existing query parameters.

Tracked URLInspect result