Example 1
- hello world
- encode
hello%20world
What about hello world in encode? hello%20world. encodeURIComponent, not form +.
Type text and a mode. hello world gives hello%20world. a b+c gives a%20b%2Bc. %20%2B in decode gives space and plus. encodeURIComponent, not a form plus.
encodeURIComponent / decodeURIComponent. Space is %20, not +. A code point sits on ASCII / Unicode.
Enter data and click Calculate.
URL Encode / Decode in this calculator encodes the typed text. hello world gives hello%20world. a b+c gives a%20b%2Bc. %20%2B in decode gives a space and a plus. Extras keep those encoded strings. This is encodeURIComponent, not application/x-www-form-urlencoded.
Field url-str is text. Mode url-mode in the first two extras is encode, in the third decode. A space becomes %20. A plus becomes %2B. Decode of %20%2B returns a space and a plus.
hello%20world is not a PHP query. a%20b%2Bc does not treat plus as space. You type the string. The calculator does not call a server.
ASCII / Unicode next door reads A as 65. Base64 size estimates length. Here hello world stays hello%20world.
Type hello world and encode, then Calculate. The result is hello%20world. A blank field encodes nothing. This is not form +.
hello world gives hello%20world. a b+c gives a%20b%2Bc. %20%2B in decode gives a space and a plus. Another string changes hello%20world.
encode = encodeURIComponent(text); decode = decodeURIComponent(text). Space is %20, not +.
encodeURIComponent. hello world gives hello%20world. Not form +.
hello%20world
What about hello world in encode? hello%20world. encodeURIComponent, not form +.
a%20b%2Bc
What about a b+c? a%20b%2Bc.
+
What about %20%2B in decode? A space and a plus.
hello%20world. encodeURIComponent. Space is %20, not +.
a%20b%2Bc. Plus also becomes %2B.
A space and a plus. Decode from percent-encoding.
No. This is not application/x-www-form-urlencoded. Space is %20.
No. encodeURIComponent in the browser. No request.
Yes as text. The calculator does not guess whether you already pasted %25.
No. Without text there is no hello%20world.
On ASCII / Unicode, result 65. Here hello%20world stays.
No. + stays a plus. Space enters as %20.
The calculator counts bits, bytes or throughput from your numbers. Below are SI and bit definitions (NIST).
Page updated in 2026.
A URL can safely carry a limited ASCII set. Everything else β spaces, non-ASCII letters, reserved symbols β is written as percent-encoding: % plus two hex digits (a UTF-8 byte or other, depending on context). Example: space β %20, Γ© in UTF-8 β %C3%A9.
This calculator follows semantics close to JavaScript encodeURIComponent / decodeURIComponent: it encodes characters that are unsafe in a URI component (parameter value, path segment), and decodes %HH sequences back to text.
:/?#[]@!$&'()*+,;= β inside a parameter value they often must be encoded or they change URL structure.- _ . ! ~ * ' ( ) β details vary by API; do not assume identity with encodeURI.%20 β universal percent-encoding for space (path, query, most APIs).+ β in application/x-www-form-urlencoded (classic HTML forms), space is often a plus in the query string.encodeURIComponent('a b') β a%20b (not plus). Treating bare + as space is a form-encoding rule, not plain URI-component decoding.If an API expects form-urlencoded, read the docs β mixing %20 and + is a common integration bug.
%HH from logs, OAuth callbacks, copy-paste β readable text.% sequences (e.g. %ZZ, truncated %C3) fail decoding β the calculator reports that.?q=...) β encode each value with a component encoder, then join pairs with & / =.encodeURI (whole URL) preserves more reserved characters than encodeURIComponent.#...) β do not encode the opening #; encode fragment content as your app requires.Bad practice: run encodeURIComponent on a full https:// URL for the address bar β you get a useless blob (unless you intentionally pass a URL as a parameter value).
a b β a%20b β again β a%2520b. Symptom in logs: %25.& β breaks parameter structure.%.%20.hello world β hello%20worlda&b=c (as a value) β a%26b%3DccafΓ© β caf%C3%A9 (UTF-8)100% sure β 100%25%20sure (% must be encoded too)a%2520b once β a%20b; twice β a b (undoing double-encode on purpose)Paste your own string into the form β copy the result into an HTTP request or API docs.
Common characters and strings β semantics close to encodeURIComponent in this calculator.
| Input | Encoded | Note |
|---|---|---|
| space | %20 | not plus (+) as in form-urlencoded |
@ | %40 | common in emails inside query values |
/ | %2F | inside a parameter value, not as a path separator |
? | %3F | otherwise starts a new query |
hello world | hello%20world | simple smoke test |
email@example.com | email%40example.com | whole address as a value |
https://api.example.com/v1/search).encodeURIComponent).?k= + encoded + & + more pairs β do not encode the finished query a second time.%2520, decode once and find which layer over-encodes (frontend, gateway, SDK).&, %, emoji, empty string, already-encoded input.Full query example: search phrase shoes & bags β value shoes%20%26%20bags β URL .../search?q=shoes%20%26%20bags.