URL Encode Decode Online

Encode and decode URLs and URI components. Supports encodeURIComponent, encodeURI, and query string modes. Bulk process multiple URLs or 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 (percent-encoding) converts characters not allowed in URLs into a transmittable format. Special characters are replaced with a percent sign (%) followed by two hexadecimal digits. For example, a space becomes %20 and an ampersand becomes %26.

What is the difference between encodeURI and encodeURIComponent?

encodeURI encodes a full URL while preserving URL structure characters like ://?#@. encodeURIComponent encodes everything except letters, digits, and - _ . ~ making it ideal for encoding individual query parameter values. Use encodeURIComponent for values, encodeURI for complete URLs.

How does bulk URL encoding work?

Toggle Bulk Mode to encode or decode multiple URLs at once, one per line. Each line is processed independently using your selected encoding mode. This is useful when you need to batch encode URLs for APIs, spreadsheets, or data processing.

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. RFC 3986 specifies %20 for spaces in URLs. Both are valid but used in different contexts. The “Query String (+)” mode in this tool uses the form encoding convention.

Is my data safe when using this tool?

Yes. All encoding and decoding happens entirely in your browser using JavaScript's built-in functions. No data is sent to any server. Your URLs and text never leave your device.