Percent Encoder/Decoder
Encode or decode text using percent-encoding (RFC 3986).
About Percent Encoder/Decoder
Percent Encoder/Decoder converts text to and from percent-encoding, also called URL encoding, as defined by RFC 3986. Every character that is not an unreserved character, meaning letters, digits, hyphen, underscore, period, or tilde, is replaced by a percent sign followed by two uppercase hexadecimal digits representing the character's UTF-8 byte value. Percent-encoding is mandatory for embedding arbitrary text in URL paths, query strings, and fragment identifiers so HTTP clients and servers can parse URLs unambiguously. The tool supports both strict RFC 3986 mode and the HTML form encoding mode where spaces are represented as plus signs instead of %20.
How to Use
Paste your raw text, URL path segment, or query parameter value into the input field and click Encode to convert all reserved and non-ASCII characters to percent-encoded sequences such as %20 for space or %C3%A9 for e-acute. To decode, paste a percent-encoded string and click Decode to reveal the original characters including multi-byte UTF-8 sequences. Toggle between RFC 3986 strict mode and HTML form encoding depending on your target context. The tool handles multi-byte characters correctly by encoding each UTF-8 byte as a separate percent-encoded sequence.
Common Use Cases
- Encoding spaces, ampersands, and slashes in URL query parameter values before appending them to REST API request URLs
- Decoding percent-encoded redirect and OAuth callback URLs to inspect the actual destination and embedded parameter values
- Preparing application/x-www-form-urlencoded POST body content with correct percent-encoding for HTML form submissions
- Diagnosing 400 Bad Request errors caused by improperly encoded or double-encoded characters in web application route handlers
- Encoding non-ASCII Unicode filenames and directory paths before embedding them in RFC 3986-compliant URIs or HTTP Content-Disposition headers