Percent encoding, defined by RFC 3986, replaces any character that is not allowed in a given URL context with a percent sign followed by two hexadecimal digits that represent the byte. It is the mechanism that lets you put spaces, non-ASCII characters, and reserved punctuation inside URLs safely. This tool encodes full strings component by component, treating input as UTF-8 so every codepoint round-trips correctly.
Encode user-provided search terms so ampersands, equals signs, and spaces cannot break the parameter structure.
Spaces and slashes inside a file name get encoded to the right form for pasting into a URL path.
OAuth signature base strings need percent encoding of every parameter, and getting a single character wrong breaks signing.
When a shell command fails because the URL has unsafe characters, encode the suspicious part and retry.
Percent encoding is the formal name; URL encoding is the colloquial one. The algorithm is the same, but form encoding replaces spaces with plus signs instead.
Everything outside the unreserved set A-Z, a-z, 0-9, and -._~ is encoded. Reserved characters like ? and & are also encoded when used as data.
Non-ASCII characters are first converted to UTF-8 bytes, then each byte is percent-encoded, producing sequences like %E4%B8%AD for Chinese characters.
Yes, use the percent decoder. The operation is a perfect round trip as long as you encode and decode with the same semantics.