URL Encode & Decode
Convert special characters, spaces, and Unicode into percent-encoded triplets (%XX) or decode URLs back to readable text according to RFC 3986 standards. Includes an interactive URL query parameter inspector and line-by-line batch processing.
How to use
Choose whether you want to Encode or Decode text.
Select your encoding standard: Component (RFC 3986), Strict RFC 3986, Full URI, or Form URL-encoded (spaces as +).
Enter or paste your text, query parameters, or full URL into the input field.
Inspect the instant output, copy the converted string, or view parsed query parameters in the interactive breakdown table.
How URL percent-encoding works
Uniform Resource Identifiers (URIs) are constrained to a limited set of ASCII characters defined in RFC 3986. Characters outside the unreserved character set must be represented using percent-encoding (also known as URL encoding). In percent-encoding, non-permitted bytes are converted into a three-character sequence consisting of the percent symbol % followed by two hexadecimal digits representing the byte value in UTF-8.
RFC 3986 character classification
| Category | Characters | Encoding Behavior |
|---|---|---|
| Unreserved | A-Z, a-z, 0-9, -, _, ., ~ | Never percent-encoded in RFC 3986. |
| Reserved / Delimiters | :, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, = | Encoded when appearing inside parameter values to prevent delimiter collisions. |
| Whitespace | Space character | Encoded as %20 in RFC 3986, or as + in application/x-www-form-urlencoded form submissions. |
| Unicode / Multi-byte | Emojis, accents, non-Latin scripts (e.g., ü, ä½ å¥½) | Converted to UTF-8 octets, then each octet is percent-encoded (e.g., ü → %C3%BC). |
Difference between encodeURI and encodeURIComponent
In web development, two distinct methods exist:
- encodeURIComponent (Component Mode): Encodes all reserved characters including slashes, question marks, ampersands, and colons. This must be used when encoding individual query parameter values (such as search queries or redirect URLs).
- encodeURI (Full URI Mode): Preserves structural URI delimiters (
://,/,?,&,#) while encoding illegal characters like spaces and Unicode glyphs. This is used when sanitizing an entire URL address. - application/x-www-form-urlencoded: Traditional HTML form submission encoding where spaces are substituted with
+rather than%20.
Interactive query parameter inspector
Complex API requests frequently chain nested query parameters, tracking tokens, and authentication payloads. Our built-in query parameter inspector automatically parses input URLs into their constituent components (protocol, hostname, path, hash, and parameter key-value pairs). You can edit parameters inline, toggle individual values, and view the re-encoded URL updated in real time.
Zero server transmission guarantee
URLs frequently contain sensitive authentication tokens, OAuth redirect callbacks, private API keys, or internal enterprise endpoints. All parsing, percent-encoding, and string manipulation execute strictly inside your local web browser. No URL strings or parameters are transmitted across the network.
Frequently asked questions
What is the difference between %20 and + for spaces?
RFC 3986 specifies %20 as the standard percent-encoding for a space character. The plus sign (+) is specific to the application/x-www-form-urlencoded standard used in classic HTML form query strings.
Why does encodeURIComponent not encode characters like ! * ' ( ) by default?
JavaScript's built-in encodeURIComponent leaves ! * ' ( ) unencoded according to RFC 2396. Our Strict RFC 3986 mode percent-encodes these characters (%21, %2A, %27, %28, %29) to ensure compatibility with strict OAuth and AWS signature standards.
How does the tool handle Unicode characters and emojis?
Non-ASCII characters and emojis are first converted into their UTF-8 byte representation, and each resulting byte is converted into a %XX hex triplet.
What causes a URI malformed decoding error?
This occurs when a percent sign (%) is not followed by two valid hexadecimal digits (0-9, A-F), or when multi-byte UTF-8 sequences are truncated or invalid.
Are my URLs and API query tokens stored or logged?
No. All encoding and decoding operations run client-side in your web browser. No text or URLs are sent to any external server.