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.