Developer Tools

URL Query Builder: Encode Parameters

· QuickToolFlow
url query parameters encoding api developer tools

Query parameters are the key-value pairs after the question mark in a URL:

https://example.com/search?q=json&page=2

Use the URL Query Builder when you need to create a clean, encoded URL from editable key-value lines. Use the URL Parser when you need to inspect an existing URL.

Anatomy of a Query String

In this URL:

https://example.com/search?q=json+formatter&sort=recent

The path is /search.

The query string is:

q=json+formatter&sort=recent

It contains two parameters:

  • q = json formatter
  • sort = recent

The browser and server parse these values from the URL.

Why Encoding Matters

Query values often contain spaces, ampersands, equals signs, punctuation, or non-English text. These characters need encoding so the URL remains unambiguous.

For example, this value:

json formatter & validator

Cannot be pasted into a query string raw, because & separates parameters. A query builder encodes it safely.

The URL Query Builder uses browser URL APIs to encode keys and values instead of relying on manual string concatenation.

Characters That Commonly Break URLs

CharacterWhy it matters in a query string
spaceMust be encoded as + or %20 depending on context
&Separates parameters
=Separates a key from a value
#Starts the fragment section of a URL
%Begins percent-encoded sequences
?Starts the query string

If a value contains these characters, a query builder should encode them as data instead of letting them act as URL syntax. This is especially important when values come from search terms, product names, campaign labels, or copied text.

Repeated Query Keys

Some URLs use the same key more than once:

https://example.com/products?tag=css&tag=html

Repeated keys are common for filters, selected categories, and array-like values. They are valid, but the server must know how to interpret them.

Other systems prefer comma-separated values:

tag=css,html

There is no universal rule. Match the API or application you are using.

Empty Values and Boolean Flags

Some query strings include empty values:

?debug=&preview=true

Others include flags without a visible value:

?debug

Different frameworks parse these differently. One application may treat debug, debug=, and debug=true as the same idea. Another may treat them as separate values. When building URLs for APIs, follow the documentation exactly instead of guessing.

Query Builder vs UTM Builder

A query builder is general. It can build any query parameters.

A UTM builder is specialized for analytics campaign fields such as:

  • utm_source
  • utm_medium
  • utm_campaign
  • utm_term
  • utm_content

Use the UTM Builder for campaign tracking links. Use the URL Query Builder for API requests, search pages, filters, and general parameter work.

Building API Request URLs

API documentation often includes query parameters:

limit=25
sort=created_at
status=active

A builder helps turn those rows into a copy-ready request URL without accidentally forgetting ?, &, or encoding.

This is useful for:

  • Documentation examples
  • Browser testing
  • Support tickets
  • Debugging filters
  • Sharing reproducible API calls

Frontend Routing and State

Query parameters are often used to preserve frontend state:

/reports?range=30d&group=channel&sort=desc

This makes filtered views shareable. A teammate can open the same report state directly from a URL, and a support ticket can include the exact filters used by a customer.

For this workflow, stable naming matters. Prefer clear keys such as range, sort, category, and page over vague keys such as x, mode, or data. Query strings are part of the user-facing debugging surface even when they are generated by the application.

Parameter Order and Stable URLs

Many servers treat query parameter order as unimportant, but stable ordering is still useful. If two URLs contain the same parameters in different orders, they may work the same way but look different in docs, tests, screenshots, and support messages.

Sorting keys makes generated URLs easier to compare. It also helps when you paste a URL into a ticket and later need to confirm whether the same filters were used.

Avoid Secrets in URLs

URLs often appear in browser history, server logs, analytics systems, reverse proxies, and screenshots. Avoid putting secrets in query parameters.

Do not place these in URLs unless the system specifically requires it and you understand the risk:

  • Access tokens
  • API keys
  • Password reset tokens
  • Private user data
  • Session identifiers

Prefer headers or request bodies for sensitive values when possible.

Common Mistakes

Manually joining strings It is easy to forget whether the base URL already contains ?, whether the next separator should be ? or &, or whether a value needs encoding.

Encoding the entire URL as one value Encode keys and values, not the whole URL. Encoding https://example.com/search?q=json as one string produces a different result from encoding only the q value.

Putting the fragment before the query The hash fragment belongs after the query string:

https://example.com/docs?version=latest#install

Changing parameter names casually For APIs and shared links, changing user_id to userId may break existing integrations.

Practical Workflow

  1. Enter the base URL.
  2. Add one key=value pair per line.
  3. Sort keys when you want stable output for docs or tests.
  4. Build the URL.
  5. Parse the final URL again if you want to verify the structure.

This simple loop catches many common URL mistakes.

Keep going

Related tools and guides

All tools