What is URL encoding?
URLs may only contain a limited set of characters. URL encoding (percent-encoding) replaces unsafe or
reserved characters with a "%" followed by their hexadecimal byte value, so a space becomes %20
and an ampersand becomes %26. This keeps the URL valid and unambiguous. The tool encodes and
decodes as you type, highlighting which characters changed.
When do you need it?
Any time you put arbitrary text into a URL, typically a query-string value: search terms, email addresses, file names with spaces, or data passed between pages. Without encoding, characters like &, ?, =, #, and spaces would break the URL's structure or be misread as delimiters. Encoding ensures the value arrives intact.
encodeURI vs. encodeURIComponent
JavaScript offers two functions, and choosing wrong is a common bug. encodeURIComponent encodes a single piece of a URL (one query value), escaping the delimiters like & and = so they are treated as data. encodeURI encodes a whole URL and deliberately leaves those delimiters intact so the URL still works. The tool's full-URL and component modes mirror this distinction.
URL encoding is not Base64 or encryption
URL encoding only makes text safe to place in a URL; it provides no security and is trivially reversible. It
is also distinct from Base64, which is a separate text-safe binary encoding. One historical quirk worth
knowing: in query strings a space can be encoded as either %20 or +, and good
decoders (including this one) handle both.
Last updated: July 2026