URL Encoder / Decoder – Percent-Encode Text and Links Online
Convert text into a safe URL format with percent encoding, decode encoded links back into readable text, and see every part and parameter of a URL.
URL encoding replaces characters that are not allowed in a URL with % and their UTF-8 bytes in hex: a space becomes %20, & becomes %26 and é becomes %C3%A9. Use “component” mode for values inside a query string and “full URL” mode to keep : / ? & = intact.
How to use URL Encode / Decode
- Paste text or a URL into the input box.
- Choose “component” to encode everything or “full URL” to keep the structure.
- Click “Encode” or “Decode”.
- Copy the result.
- Check the URL parts table to see each parameter decoded.
What URL encoding does
URLs may only contain a limited set of ASCII characters. Anything else — spaces, accented letters, emoji and characters with a special meaning such as & or ? — must be percent-encoded: each byte of the character’s UTF-8 form is written as % followed by two hexadecimal digits.
| Character | Encoded |
|---|---|
| space | %20 |
| & | %26 |
| = | %3D |
| ? | %3F |
| / | %2F |
| é | %C3%A9 |
| € | %E2%82%AC |
Component or full URL?
The two modes match JavaScript’s encodeURIComponent and encodeURI:
- Component encodes everything except letters, digits and - _ . ! ~ * ' ( ). Use it for a single value you put inside a URL, such as a search term or a redirect address in a parameter.
- Full URL leaves the characters that give a URL its structure (: / ? # & =) untouched and only encodes the rest. Use it to clean up a whole link that contains spaces or non-English characters.
Encoding a whole URL with component mode turns https:// into https%3A%2F%2F — correct if the URL is itself a parameter value, wrong otherwise.
Spaces: %20 or +?
In paths, a space is always %20. In HTML form submissions (application/x-www-form-urlencoded), spaces in the query string are often written as +. The decoder treats + as a space, so both forms decode correctly.
Common uses
- Building API requests and tracking links with UTM parameters.
- Reading messy links copied from emails or analytics tools.
- Debugging redirect loops where a URL was encoded twice (%2520 instead of %20).
- Sharing links with non-English words, like a Spanish or German page slug.
Privacy
Everything runs in your browser; links with tokens or personal data are not sent anywhere. For other encodings, use the Base64 Encode / Decode tool; to inspect JSON responses from an API, the JSON Formatter helps.
You may also find these free tools useful: JSON Formatter, Password Generator and Regex Tester.
Frequently asked questions
What is URL encoding?
Replacing characters that are not allowed in URLs with % and their hexadecimal byte values, such as %20 for a space.
What is the difference between encodeURI and encodeURIComponent?
encodeURI keeps characters like / ? & = that structure a URL; encodeURIComponent encodes them too, for use inside a single parameter.
How do I decode %20?
Paste the text and click Decode. %20 becomes a space, %26 becomes & and so on.
Why do I see %2520 in a link?
The URL was encoded twice: % itself became %25. Decode it twice to get the original.
Is my data sent to a server?
No. Encoding and decoding happen locally in your browser.
Last updated: