Free URL Encoder/Decoder (Percent Encoding)
Quick Tips
- • This tool runs entirely in your browser - your data stays private.
- • Press Ctrl+V (Cmd+V on Mac) to quickly paste text.
- • Use the Copy button to save your result to clipboard.
- • Bookmark this page for quick access!
Encode special characters for URLs or decode percent-encoded URL strings.
Your Recent Tools
Examples
Hello World
Hello%20World
name=John&city=New York
name%3DJohn%26city%3DNew%20York
https://example.com/path?q=test
https%3A%2F%2Fexample.com%2Fpath%3Fq%3Dtest
email@domain.com
email%40domain.com
Why Use This Tool?
What problems does this solve?
URLs can only contain a limited set of characters. Spaces, special characters, and international text must be encoded to work in URLs. Incorrect encoding causes broken links, missing data, and security issues like injection attacks.
Common use cases:
- Encoding query parameter values before constructing URLs
- Decoding URLs to inspect their actual content for debugging
- Preparing text for use in URL paths and filenames
- Fixing double-encoding issues in web applications
- Encoding redirect URLs passed as parameters
Who benefits from this tool?
Web developers building URLs programmatically. QA engineers testing URL handling. Backend developers working with API endpoints. Anyone debugging broken or garbled URLs.
Privacy first: All encoding and decoding happens locally in your browser. Your URLs and data never leave your device.
Frequently Asked Questions
encodeURI() preserves URL structure characters like :, /, ?, #, @. Use it for complete URLs. encodeURIComponent() encodes everything except alphanumerics and -_.~. Use it for query parameter values.
%20 is the URL-encoded form of a space character. URLs cannot contain actual spaces, so they must be encoded. When the URL is processed, %20 is automatically converted back to a space.
Use %20 for URL paths and modern applications. The + for space convention comes from HTML form submissions (application/x-www-form-urlencoded) and may not work everywhere. %20 is universally compatible.
Double encoding happens when already-encoded text is encoded again. For example, %20 becomes %2520. This breaks URLs and is a common bug. Always decode first if you are unsure whether text is already encoded.
No, you typically only encode query parameter values or path segments with special characters. Encoding the entire URL (including the protocol and slashes) would break it.
International characters are first converted to UTF-8 bytes, then each byte is percent-encoded. For example, é becomes %C3%A9. Modern browsers handle this automatically in the address bar.
Related Tools
HTML Entity Encoder/Decoder
<p>The HTML Entity Encoder/Decoder converts special characte...
Punycode Converter
<p>The Punycode Converter transforms internationalized domai...
Data URI Generator
<p>The Data URI Generator creates data URIs that embed file...
Query String Parser
<p>The Query String Parser converts between URL query string...
JWT Decoder
<p>The JWT Decoder parses JSON Web Tokens to reveal their he...
JWT Encoder
<p>The JWT Encoder creates JSON Web Tokens from your specifi...