— URL Encoder/Decoder

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

Input
Hello World
Output
Hello%20World
Input
name=John&city=New York
Output
name%3DJohn%26city%3DNew%20York
Input
https://example.com/path?q=test
Output
https%3A%2F%2Fexample.com%2Fpath%3Fq%3Dtest
Input
email@domain.com
Output
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.