URL encoder / decoder
Convert text to percent-encoded form for safe use in URLs, or decode %XX sequences back into human-readable text.
encoded
result appears here
Component vs. full-URL encoding
Component mode (encodeURIComponent) encodes everything that isn't a letter, digit, or a few safe marks — use it for a single query-string value. Full-URL mode (encodeURI) leaves structural characters like :, /, ? and & alone — use it when encoding a complete URL without breaking it.
Why %20 and friends exist
URLs may only contain a limited ASCII set. Everything else — spaces, quotes, non-Latin characters — must be written as a % followed by the byte's hex value. A space becomes %20, é becomes %C3%A9. Decoding reverses the process, which is essential for reading query strings and debugging redirects.
Frequently asked questions
- What is percent encoding?
- Percent encoding (URL encoding) represents unsafe characters as % followed by the byte's hexadecimal value, so URLs only contain a limited ASCII set. A space becomes %20, an ampersand becomes %26, and é becomes %C3%A9 (its UTF-8 bytes).
- When should I use component mode vs full-URL mode?
- Component mode (encodeURIComponent) encodes every reserved character and is correct for a single query-string value. Full-URL mode (encodeURI) preserves structural characters like :, /, ? and & and is correct only when encoding a complete URL.
- Why does my decoded text show a plus sign as a space?
- HTML form encoding historically represents spaces as + while percent encoding uses %20. This decoder treats + as a space, matching how query strings are decoded by servers; a literal plus sign should be encoded as %2B.