Tool Fu
$ toolfu run url-encoder

URL Encoder & Decoder — Online Free

Free online URL encoder and decoder. URL encode or URL decode components, query strings, and special characters instantly. Handles Unicode and percent-encoding — runs in your browser.

all processing runs in your browser
url-encoder
input > plain text
output > encoded

URL Encode and Decode Online — Free URL Encoder Decoder

URLs can only contain a limited set of characters. When you need to include special characters like spaces, ampersands, or Unicode characters in a URL, they must be percent-encoded. This tool converts between plain text and URL-encoded format instantly as you type.

Switch between encode and decode modes, paste your text, and get the result. Use the swap button to quickly reverse the conversion. Everything runs in your browser — no data is sent anywhere.

Common use cases

  • Encoding query parameters for API requests
  • Decoding URLs from logs or analytics tools
  • Debugging URL-encoded form data
  • Encoding filenames or paths for use in URLs
$ cat FAQ.md
What is URL encoding?
URL encoding (percent-encoding) replaces unsafe characters with a '%' followed by their hex value. For example, a space becomes '%20' and '&' becomes '%26'. This ensures special characters are transmitted correctly in URLs.
When should I URL encode?
URL encode when passing user input as query parameters, embedding data in URLs, or when your string contains characters like spaces, ampersands, equals signs, or non-ASCII characters that could break URL parsing.
Is my data sent to a server?
No. Encoding and decoding happens entirely in your browser using the built-in encodeURIComponent and decodeURIComponent JavaScript functions. Nothing is transmitted over the network.
What is the difference between encodeURI and encodeURIComponent?
encodeURI encodes a full URI but preserves characters like ':', '/', '?', and '&' that have meaning in URLs. encodeURIComponent encodes everything except letters, digits, and a few safe characters. This tool uses encodeURIComponent, which is what you want for encoding individual values.