When a search term contains & or +, encode the value before assembling the URL. Passing an entire URL to the URL Encoder/Decoder also escapes the https://, ? and = delimiters. The resulting string is no longer a directly usable URL.
Reproduce the exact outputs
This tool uses encodeURIComponent and then additionally escapes ! ' ( ) *. Its output differs from calling encodeURIComponent alone.
| Original value | Encoded output | Meaning |
|---|---|---|
あ |
%E3%81%82 |
Three UTF-8 bytes |
a b |
a%20b |
Space becomes %20 |
a+b |
a%2Bb |
Literal plus becomes %2B |
A&B |
A%26B |
Keep value data separate from query delimiters |
!'()* |
%21%27%28%29%2A |
All are escaped by this implementation |
%20 |
%2520 |
Encoding the percent sign adds another layer |
Not every Japanese character takes three UTF-8 bytes. For example, 𠮷 uses four and encodes as %F0%A0%AE%B7. Each percent sign and two hex digits represents a byte, not a whole character.
Build a query with a search term and page number
For the search term a+b & c and page 2:
- Enter only the search term and select Encode.
- Copy
a%2Bb%20%26%20c. - Place it into the value position:
https://example.com/search?q=a%2Bb%20%26%20c&page=2
The example domain is illustrative. Escaping the value’s ampersand prevents it from becoming another parameter delimiter. In application code, choose URL or URLSearchParams APIs according to the destination’s required format.
Distinguish %20 from +
| Input to Decode | Tool output | Interpretation |
|---|---|---|
a%20b |
a b |
%20 represents space |
a%2Bb |
a+b |
%2B represents plus |
a+b |
a+b |
Literal + is not changed to space |
%2520 |
%20 |
One pass removes one encoding layer |
Form-urlencoded data uses + to represent space. Use a parser for that format when reading a form value. Repeatedly decoding until text looks readable can change meaningful percent escapes or delimiters. Check the producer’s contract and the number of encoding layers instead.
Troubleshoot decoding errors
%, %GG and %E3%81 cannot be decoded. Check incomplete hex pairs and truncated UTF-8 sequences. Percent-encoded bytes in another encoding, such as Shift_JIS, may not be readable by this UTF-8-based decoder.
Both buttons process the input field. Paste the output back into it if another transformation is intended. The implementation transforms data in the browser without uploading the input. Encoding is not encryption and does not protect secrets placed in URLs.
Frequently asked questions
Should I encode the entire Japanese URL here?
No: this tool handles components such as parameter values. Complete URL structure, hostnames and reserved delimiters need different handling.
Are exclamation marks and parentheses escaped?
Yes. The implementation adds that escaping after encodeURIComponent.
Why does a plus sign remain after decoding?
The tool uses decodeURIComponent. It does not apply form-urlencoded space conversion.
Return to the same workflow
Open the URL Encoder/Decoder, reproduce the small example and inspect the result before processing your own data. Favorite the tool near its name to reopen it through My Tools in the same browser. Favorites store the tool choice, not your inputs or files; clearing site data removes them.
Scope and evidence
On October 25, 2026 we compared these steps and examples with the published implementation. Primary references support the standard or API; the output tables and limits describe Tools Hub. This is not a speed or capacity benchmark, a guarantee for every environment or professional certification.