Percent-encode and decode URLs — component, full-URL and form (application/x-www-form-urlencoded) modes.
How to use this tool
A search term, a query value, or a whole URL.
Component encodes everything unsafe in a value; Full URL leaves : / ? & intact; Form mode turns spaces into + for form bodies.
Encode for sending, Decode to read a percent-encoded string back.
A stray % or truncated %XX is reported as an error rather than silently mangled.
Formula & worked example
"hello world & friends" as a component encodes to "hello%20world%20%26%20friends"; in form mode it becomes "hello+world+%26+friends".
Limitations — read this before you rely on it
Encoding a whole URL in component mode will also encode its : and / characters — use Full URL mode for complete URLs and Component mode for individual values.
Frequently asked questions
Whenever a value contains spaces, &, =, ?, # or non-ASCII characters and you need to put it inside a URL without it being mistaken for URL structure.
encodeURI (Full URL mode) preserves URL structure characters like : / ? &. encodeURIComponent (Component mode) encodes those too, so it is right for a single query value.
In application/x-www-form-urlencoded bodies (HTML forms), spaces are sent as +. In a normal URL path or query, + literally means plus.
A space, encoded as its UTF-8 byte 0x20 in hex. %C3%A9 is the letter é (two UTF-8 bytes).
No — it is fully reversible and hides nothing.
