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.

0 chars
0 chars

Common Encoded Characters

space%20
!%21
#%23
$%24
&%26
'%27
(%28
)%29
+%2B
,%2C
/%2F
:%3A
;%3B
=%3D
?%3F
@%40
[%5B
]%5D

Frequently 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.