Skip to content

Query-string editor

Paste a URL, a query string, or JSON from a previous run. Parameters become JSON. Paste that JSON back to rebuild the URL.

The query is decoded and rebuilt in this browser. Links are not opened. Analytics records only that the tool was used, never the URL.

Ctrl+Enter or ⌘+Enter runs this tool immediately.

Names
URL, query, or JSON
JSON or URL

Waiting for input.

Parsing stays in this browser. Input is not uploaded or saved.

How to use this tool

  1. Paste one http:// or https:// URL, a query string such as a=1&b=2, or JSON from a previous run. Sample loads a search URL with repeated filters.
  2. Read the JSON. Each parameter has a name and, when the pair included =, a value. Copy it, change names or values, and paste it into the input.
  3. The rebuilt URL uses + for spaces. Sorted names is optional and does not remove tracking; the URL cleaner does that.

Supported formats and limitations

  • One URL or one query string. A message that contains several links is for the URL cleaner.
  • http:// and https:// URLs are accepted. example.com/page without a scheme is rejected. A string that starts with { or [ is read as JSON.
  • Duplicate names stay as separate query items. A JSON object can only repeat a name by using an array of strings.
  • + and %20 both become a space. An invalid percent-encoding is an error. The path is kept as written and is not decoded.
  • This tool does not strip tracking parameters, follow redirects, or open the URL.

Examples

Decode a search URL

q is decoded from yaml+to+json. filters appears twice. debug has no =, so it has no value field.

https://example.com/search?q=yaml+to+json&filters=type%3Aguide&filters=lang%3Aen&debug#results

Rebuild from JSON

Paste JSON with url, query, and hash. Spaces become +.

{
  "url": "https://example.com/search",
  "query": [
    { "name": "q", "value": "yaml to json" },
    { "name": "page", "value": "2" }
  ]
}

A query without a URL

A leading ? is optional. The output JSON has only query.

q=configkit&debug

Common errors and solutions

A URL has to start with http:// or https://
Add the scheme, or paste only the query string (name=value pairs), or paste JSON from a previous run.
Could not decode
A % sequence is not valid hexadecimal. Fix it in the query, or replace the value in JSON and rebuild.
Unknown key
The JSON object may use url, query, and hash, or it may be a map of parameter names to strings. Other keys are rejected.
This tool reads one URL or one query string
Paste a single address. For a paragraph of links, use the URL cleaner.

FAQ

How do I edit a parameter?
Decode the URL, copy the JSON, change a name or value, and paste the JSON back. The output is the rebuilt URL.
Why did + become a space?
In a query string, + is a space. %20 is also a space. A real plus is written as %2B. Rebuilding writes spaces as +.
Can I keep two parameters with the same name?
Yes. Decode writes them as two query items. In a JSON object, use an array of strings: { "filters": ["type:guide", "lang:en"] }.
Does this remove utm_source?
No. Use the URL cleaner to strip tracking. This page only decodes, edits, and rebuilds.
Is the URL sent anywhere?
No. It is parsed in your browser. It is not uploaded, stored, put in the URL, or sent to analytics.

Related tools

  • URL tracker remover

    Remove tracking parameters such as utm_source, fbclid, and gclid from links in the browser. Google, Facebook, and Outlook redirect links are replaced by their destination, and the rest of each link is kept as written.

  • URL unshortener

    Expand bit.ly, t.co, amzn.to, and other listed short links on this site's server, then strip tracking from the destination. Press Expand; the shortener sees a request from ConfigKit, not from your browser.