Encode or decode URL percent-encoded strings. Choose the mode that matches your use case - full URL, query string, or single component.
Component mode uses encodeURIComponent, which encodes all characters except A-Z a-z 0-9 - _ . ! ~ * ' ( ). Use this when encoding a single query parameter value or path segment.
Query string mode is like component mode but additionally converts spaces to + (application/x-www-form-urlencoded). Use when encoding HTML form data.
Full URL mode uses encodeURI, which preserves characters that have special meaning in a URL structure (: / ? # [ ] @ ! $ & ' ( ) * + , ; =). Use when encoding a complete URL that should stay valid.
Percent-encoding replaces each byte of a character's UTF-8 representation with a % followed by two hexadecimal digits. A space becomes %20 in component mode and + in query string mode. Non-ASCII characters like accented letters or emoji are first converted to UTF-8 bytes, then each byte is percent-encoded - for example the Euro sign becomes %E2%82%AC.
A common mistake is double-encoding: if you pass an already-encoded string through encodeURIComponent again, the % signs become %25 and the URL breaks. Use the Decode tab to inspect what a string actually contains before re-encoding, or use Full URL mode to encode a URL that may already contain valid percent-encoded sequences.