URL Encoder / Decoder
Plain Text
URL Encoded
What is URL encoding (percent-encoding)?
URL encoding, also known as percent-encoding, is a mechanism to represent special or non-ASCII characters in a URL. It replaces problematic characters with a percent sign (%) followed by their hexadecimal code. For example, a space becomes %20.
This encoding is essential for transmitting parameters in GET requests, forms, or constructing valid URLs according to RFC 3986. Without encoding, characters like &, =, ?, or accented letters could break the URL.
Common use cases
- Query parameters:
?q=encoded%20string - URL paths with spaces:
/my%20file.pdf - Links in emails (to avoid breakage)
- Data injection in REST APIs
Standard encoding vs full encoding
By default, our tool encodes only reserved characters according to RFC 3986 (such as :, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, =) as well as spaces. The "Encode all non-ASCII characters" option also converts accented letters, currency symbols, etc. This can be useful for maximum compatibility with older systems.
Frequently Asked Questions
encodeURIComponent encodes all characters except letters, digits, and - _ . ! ~ * ' ( ). It is designed to encode the value of a parameter. encodeURI preserves reserved characters that are part of the URL structure (:/?#[]@!$&'()*+,;=). Our tool uses an equivalent of encodeURIComponent.
+ instead of %20 for spaces?The + is a historical convention used in HTML forms (application/x-www-form-urlencoded). In a standard URL (the part after the ?), both are often accepted, but %20 is more standard. Our decoder interprets both.
Absolutely. All conversion happens directly in your browser (JavaScript). No information is sent to any server. You can use it for sensitive data with confidence.
It is recommended to encode only the variable parts (like parameter values). Our tool is ideal for encoding a complete query string after the ? or a path segment. For an entire URL, use our partial encoding function.