Percent / URL Encoding

Encode arbitrary bytes as %XX sequences for URLs

Ad placeholder (leaderboard)

Percent-encoding is how arbitrary text and bytes are made safe to carry inside a URL. This tool converts any string into RFC 3986 %XX escapes and back again, handling full Unicode through UTF-8 so the round trip is always lossless.

How it works

Encoding walks the UTF-8 bytes of your input. Any byte whose character is in the unreserved set is emitted as-is; every other byte becomes a percent sign followed by its two-digit uppercase hex value:

unreserved = A-Z a-z 0-9 - . _ ~
"a b!" -> "a%20b%21"
"é"    -> "%C3%A9"   (two UTF-8 bytes)

Decoding scans for a % followed by exactly two hex digits, collects those raw bytes, then re-interprets the byte stream as UTF-8 to rebuild the original text.

Example and notes

The string name=José & co encodes to name%3DJos%C3%A9%20%26%20co. Note that the reserved characters =, &, and the space are all escaped, which is exactly what you want when placing a value inside a single query parameter. If you only need to protect a whole URL’s structure rather than one component, fewer characters need escaping, but encoding the full component set is always safe.

Ad placeholder (rectangle)