Choose the right mode
Use URL component mode for one parameter value; it encodes reserved characters such as / and ?. Use Whole URI mode for a URI with structure; reserved separators remain intact. Whole URI encoding is not a URL validator or normalizer and does not convert internationalized host names to punycode.
For example, component encoding turns a b+c/d?e=f into a%20b%2Bc%2Fd%3Fe%3Df. Whole URI encoding retains ://, ?, and &, while encoding spaces as %20.
Query parameter rules
Query mode uses form-style decoding: + means a space, while %2B means a literal plus. It accepts a raw query, an optional leading ?, or an absolute HTTP(S) URL. URL fragments are ignored when you enter an absolute URL. Repeated keys remain separate rows in their original order; parameters without = have an empty value.
For URI component and whole URI modes, + remains a plus. Percent escapes are decoded once only: decoding %252F produces %2F.
Frequently asked questions
Why is plus different from a space?
In a form-encoded query, plus represents a space. In a URI component or whole URI, plus is a literal character; encode a plus sign there as %2B.
Why does %2F stay encoded?
Whole URI decoding preserves reserved separators such as slash so URI structure is not changed. Use component mode when decoding one value.
Are duplicate parameters preserved?
Yes. Query results are an ordered list of key/value pairs, not an object, so repeated keys such as tag=one&tag=two are retained.
Related developer tools
Encode UTF-8 text with Base64 Encoder & Decoder, inspect structured data with JSON Validator & Formatter, or browse all Developer Tools.