Percent Encoding Tool β€” RFC 3986 URL Encoding Online

Percent-encode text according to RFC 3986. Choose between standard component encoding, full URL encoding that preserves structure, or complete percent-encoding of every non-alphanumeric character.

How Percent-Encoding Works

Percent-encoding converts each byte of a character to a %XX sequence where XX is the uppercase hexadecimal representation. For ASCII characters, this is a single %XX. For UTF-8 multi-byte characters (like Γ© or emoji), each byte of the UTF-8 sequence gets its own percent-encoded triplet. The text is first encoded as UTF-8 bytes, then each byte that needs encoding is converted.

Reserved vs. Unreserved Characters

RFC 3986 divides characters into unreserved (never need encoding: A-Z a-z 0-9 - _ . ~) and reserved (have special URL meaning: : / ? # [ ] @ ! $ & ' ( ) * + , ; =). Reserved characters only need encoding when used as data rather than as URL delimiters. The "All Characters" mode encodes everything regardless.

UTF-8 and Percent-Encoding

Before percent-encoding, text must be converted to bytes using a character encoding β€” almost always UTF-8. The letter Γ© is two bytes in UTF-8 (0xC3 0xA9), so it becomes %C3%A9. A fire emoji is four bytes, becoming four percent-encoded triplets. This tool uses the standard TextEncoder API to ensure correct UTF-8 encoding before percent-encoding.

Enter text below to see it percent-encoded.

Spaces:
Plain Text0 chars
Encoded Output
Encoded output appears here…