URL Encode/Decode
Encode or decode URL components with a live preview and parsed URL parts.
Free & unlimited
Direction
Mode
Input
Encoded output
https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world%26category%3Dbooks
All processing happens in your browser. No data is sent to any server.
About this tool
- 1
Enter your text
Type or paste the URL component or string you want to encode or decode.
- 2
Choose the operation
Select Encode to convert special characters to percent-encoded form, or Decode to reverse it.
- 3
Pick the encoding mode
Choose between encodeURIComponent (for values) or encodeURI (for full URLs) depending on your use case.
- 4
Copy the result
Copy the encoded or decoded string to your clipboard.
- Use encodeURIComponent for query parameter values - it encodes characters like &, =, and ? that have special meaning in URLs.
- Use encodeURI for full URLs - it preserves protocol, slashes, and other structural characters.
- Double-encoding happens when you encode an already-encoded string - use decode first if unsure.
- Spaces can be encoded as %20 or + depending on context; this tool uses %20 (standard URL encoding).
- Supports both encodeURI and encodeURIComponent modes
- Real-time encoding and decoding as you type
- Handles Unicode characters and multi-byte sequences
- Highlights which characters were encoded in the output
- Batch mode for encoding multiple values at once
- Encode query parameters before appending them to API request URLs
- Decode percent-encoded URLs from logs or analytics data for readability
- Prepare file names with special characters for use in download URLs
- Debug URL encoding issues in web applications
encodeURI encodes a full URL but preserves characters like :, /, ?, and #. encodeURIComponent encodes everything except letters, digits, and - _ . ~ making it safe for query parameter values.
The + encoding for spaces comes from the application/x-www-form-urlencoded format used in HTML forms. Standard URL encoding uses %20.
Yes. Unicode characters like accented letters, Chinese, Arabic, and emoji are encoded as UTF-8 byte sequences in percent-encoded form.