Encode
Turns text into percent-encoded form (%XX, UTF-8) — safe for URLs, query parameters and API requests.
Percent-encode and decode text and addresses — with single-component and full-URL modes, and full UTF-8 support. Everything runs in your browser.
encodeURIComponent — encodes everything (& = ? / : …)
Turns text into percent-encoded form (%XX, UTF-8) — safe for URLs, query parameters and API requests.
Recovers the original text from a percent-encoded string, with a clear message on invalid input.
"Component" encodes everything (encodeURIComponent); "Full URL" preserves the address structure (encodeURI).
URL encoding, also called percent-encoding, replaces characters that are unsafe in a URL (spaces, non-Latin letters, & ? = / and more) with %XX sequences based on their UTF-8 bytes. This lets addresses and parameters travel correctly across the web.
"Component" uses encodeURIComponent and encodes everything, including characters that are special in a URL (& = ? / : #). Use it for a single parameter value. "Full URL" uses encodeURI and preserves URL structure (scheme, slashes, separators), encoding only the genuinely unsafe characters.
Yes. Encoding is UTF-8 based, so Cyrillic, emoji and any Unicode characters are correctly turned into %XX sequences and restored exactly on decode.
The input contains an invalid percent-sequence — e.g. a "%" not followed by two hex digits (like %ZZ or a truncated %A). Check that you pasted the whole string without missing characters.
In a URL path and with encodeURIComponent, a space becomes %20. The + character means a space only in form data (application/x-www-form-urlencoded), i.e. the query part. This tool uses %20, which is valid in both cases.
No. All encoding and decoding happens locally in your browser via JavaScript — nothing is sent to a server.