URL
Query String Builder / Parser
Work with percent encoding explicitly and choose whether plus represents a form-style space during parsing.
How this tool works
A query is a sequence of name/value components, but application frameworks disagree on how repeated names map to arrays, scalars, or the last value. This tool preserves the ordered pairs instead of choosing an application model.
Builder mode applies encodeURIComponent to each key and value. Parse mode retains raw components beside decoded text and reports malformed percent sequences instead of silently replacing them.
Examples
- Build tag=api&tag=qa.
- Round-trip a Unicode search term.
- Distinguish q=a+b from q=a%2Bb with plus handling disabled.
Common use cases
Interoperability checks
- Confirm how the target framework handles duplicate names.
- Decide whether blank and missing values are distinct.
- Encode components once; double encoding turns percent signs into %25.
- Preserve the URL fragment boundary when parsing a full URL.
Failure case: Query Strings
Invalid/failure example
Distinguish q=a+b from q=a%2Bb with plus handling disabled.
Expected: Builder mode applies encodeURIComponent to each key and value. Parse mode retains raw components beside decoded text and reports malformed percent sequences instead of silently replacing them.
Related guides
Official references
FAQ
Does this tool send the pasted data or execute an API request?
No. Analysis runs in this browser tab. The tool does not call pasted URLs, resolve remote references, or submit the input to a DevPouch processing endpoint.
Are repeated keys preserved?
Yes. Parsing returns rows in source order, and build mode allows multiple rows with the same key.
Does plus always mean space?
No. Plus-to-space behavior comes from application/x-www-form-urlencoded parsing. Percent decoding by itself does not universally reinterpret a literal plus.