How a query string is put together
Everything after the first ? in a URL and before the # fragment is the query string. Each parameter is a name and a value joined by =, and parameters are chained with &. Because those four characters do the structural work, any of them appearing inside a value must be percent-encoded, which is exactly what this tool handles when it rebuilds your edited parameters.
Typical jobs this page is used for: cleaning tracking parameters off a shared link, changing a page number or filter in a long URL without hand-counting ampersands, debugging a webhook or OAuth redirect, and checking exactly what an app puts into its requests. For a read-only breakdown of a full URL including host, port, and path, the URL parser on the encoder page does that too.
Frequently asked questions
- What is a query string?
- It is the part of a URL after the question mark: a list of name=value pairs separated by ampersands, ending at the # fragment if one exists. Servers and client-side code read it to receive search terms, filters, page numbers, tracking tags, and similar parameters.
- Why do spaces appear as + in some URLs and %20 in others?
- Both are correct in a query string. The application/x-www-form-urlencoded format used by HTML forms writes spaces as +, while generic percent-encoding writes %20. This tool decodes both and lets you choose either style when rebuilding.
- Can the same parameter appear more than once?
- Yes. Repeated names like tag=a&tag=b are valid and commonly represent lists; how they are interpreted is up to the receiving application. This tool preserves duplicates and their order instead of collapsing them.
- Does editing parameters here change the original page?
- No. The tool only builds a new string in your browser. Nothing is requested or submitted; you decide where to paste the rebuilt URL.
- Is my URL sent to a server?
- No. Parsing, editing, and rebuilding all run locally in your browser with JavaScript, so URLs containing tokens or personal data never leave your device.