Paste text on the left and click Encode to percent-encode it for safe use in a URL or query string, or paste an encoded string and click Decode to get the readable text back. Encoding is UTF-8 safe, so spaces, symbols, and non-Latin characters are converted correctly, and everything runs locally in your browser.
No. Encoding and decoding happen entirely in your browser with JavaScript — your text is never sent to a server, so it works offline and is safe for sensitive data.
URL encoding replaces characters that aren't allowed in a URL — such as spaces, &, ?, /, and non-ASCII characters — with a % followed by their byte value in hexadecimal. For example a space becomes %20. It keeps values safe to place in a link or query string.
Yes. Text is encoded as UTF-8 before percent-encoding, so accented letters, non-Latin scripts, and emoji encode and decode correctly rather than being corrupted.
Encoding turns a space into %20 (the standard for URLs). Decoding reverses percent-escapes exactly and leaves a literal + as a plus sign — it does not treat + as a space, which only applies to older form-encoded data.
Decoding fails when the input contains a stray % that isn't followed by two valid hexadecimal digits — for example % or %zz. Fix or remove the malformed escape and try again.