URL Encoder & Decoder
Encode and decode URLs and URI components. Supports encodeURIComponent, encodeURI, and query string (+ for spaces) modes. Parse any URL into its components.
encodeURIComponent: Encodes all special characters including :/?#[]@!$&'()*+,;= — use for individual query parameter values.
Common Encoded Characters
space%20!%21#%23$%24&%26'%27(%28)%29+%2B,%2C/%2F:%3A;%3B=%3D?%3F@%40[%5B]%5DFrequently Asked Questions
What is URL encoding?
URL encoding (also called percent-encoding) converts characters that are not allowed in URLs into a format that can be transmitted. Special characters are replaced with a percent sign (%) followed by two hexadecimal digits representing the character's ASCII code. For example, a space becomes %20.
What is the difference between encodeURI and encodeURIComponent?
encodeURI is designed for encoding full URLs — it preserves characters that have special meaning in URLs like ://?#@. encodeURIComponent encodes everything except letters, digits, and - _ . ~ making it suitable for encoding individual query parameter values. Use encodeURIComponent for values, encodeURI for complete URLs.
Why are spaces sometimes encoded as + instead of %20?
The + encoding for spaces comes from the application/x-www-form-urlencoded format used by HTML form submissions. This is a different standard from RFC 3986 which specifies %20. Both are valid but used in different contexts. The “Query String (+)” mode in this tool uses the form encoding convention.
Is my data safe?
Yes. All encoding and decoding happens entirely in your browser using JavaScript's built-in encodeURI, encodeURIComponent, decodeURI, and decodeURIComponent functions. No data is sent to any server.