Query string editor
Edit query parameters as rows, preserve repeated names, and build an encoded URL with a live preview.
How it works & useful details
How this tool works
Use HTTP(S) URLs without credentials. Import the URL query to populate the rows; otherwise the rows replace it. Duplicate keys, empty keys, empty values and order are preserved. URLSearchParams uses + for spaces and normalizes query encoding. Import uses forgiving decoding for invalid UTF-8 sequences. Up to 100 rows, 256 characters per name and 2,048 per value.
About this tool
Query string editor lets you change URL parameters as rows, preserving repeated names like filter=one&filter=two and handling encoding for you. It is the precise way to edit tracking or filter links without breaking them.
A live preview shows the final encoded URL as you edit, so mistakes are visible immediately. All parsing and building happens locally.
How to use it
- Paste the URL or start from an empty query.
- Add or edit parameter rows, including repeated names.
- Check the live encoded preview of the resulting URL.
- Copy the finished URL.
Worked example
Starting from https://example.com/search#results and adding the rows q = "good coffee" and tag = local produces:
https://example.com/search?q=good+coffee&tag=local#resultsThe space is encoded as +, following the application/x-www-form-urlencoded rules that URLSearchParams and HTML forms use, and the fragment #results stays at the end. Add a second tag row, and tag appears twice in the query in the order you entered.
Why rows beat hand-editing
Editing long query strings by hand is error-prone. It is easy to break an escape sequence, lose an & between parameters, or encode a value twice. Editing parameters as rows keeps each name and value separate, and the tool handles encoding. Rows can be disabled temporarily to test a URL without a parameter.
Repeated names such as tag=fresh&tag=local are preserved, because many frameworks read them as a list. Parameter order is kept too. It rarely matters to servers, but it does matter for caching and for comparing URLs as text.
Frequently asked questions
How are repeated parameters preserved?
Each row keeps its own name, so parameters that appear several times stay in order instead of collapsing into one value.
Is the output encoded correctly?
Values are percent-encoded for query use, and existing encoding is not double-applied.
What is the limit?
Up to about 238,000 characters of URL text.
Why %20 in some URLs and + in others?
Both encode a space. + is used in form-encoded query strings, and %20 is used in paths and by encodeURIComponent. Servers decode both correctly in query strings.
