What is URL Encoding (Percent-Encoding)?
URL encoding, also called percent-encoding, is a way of representing characters
that aren't allowed or have special meaning in a URL by replacing them with a
% followed by two hexadecimal digits representing the character's
byte value. For example, a space becomes %20, and &
becomes %26.
URLs are restricted to a subset of ASCII characters. Anything outside that set, such as spaces, accented letters, emoji, non-Latin scripts, or reserved characters used in an unintended way - must be percent-encoded so the URL remains valid and is interpreted correctly by browsers and servers.
encodeURI vs encodeURIComponent
This tool offers two encoding modes, matching JavaScript's built-in functions:
| Mode | Use case | Characters preserved |
|---|---|---|
| Component (default) | Encoding a single value - e.g. a query parameter, form field, or path segment | Letters, digits, - _ . ! ~ * ' ( ) |
| Full URL | Encoding an entire URL while keeping its structure intact | Also preserves : / ? # & = + , ; |
If you're encoding a value to insert into a query string (e.g.
?search=value), use Component mode. If you're
encoding/decoding a complete URL and want to keep slashes and query separators
intact, enable "Encode full URL" above.
Common Percent-Encoded Characters
| Character | Encoded |
|---|---|
| Space | %20 |
& | %26 |
= | %3D |
? | %3F |
# | %23 |
/ | %2F |
: | %3A |
@ | %40 |
Frequently Asked Questions
%20 is the percent-encoded form of a space character. Since URLs can't contain literal spaces, they're replaced with %20 (some systems use + instead, specifically within query strings).
encodeURIComponent escapes nearly all special characters and is meant for encoding a single value (like a query parameter). encodeURI encodes a full URL but leaves structural characters like / ? # & = untouched so the URL stays valid. Use the "Encode full URL" checkbox to switch to this mode.
URLs only support a limited ASCII character set. Spaces, accented letters, emoji, non-Latin text, and reserved characters used outside their structural role must be percent-encoded so the URL is transmitted and parsed correctly by browsers and servers.
Switch to "Decode" mode above, paste your percent-encoded string, and click "URL Decode". Each %XX sequence is converted back into its original character.