URL Encoder & Decoder
Encode and decode URLs online for free. Convert special characters, spaces, and non-ASCII characters to URL-safe format using our percent encoding tool
Examples
URL Encoder FAQ and Usage Guide
What is URL encoding?
URL encoding (percent encoding) converts special characters and non-ASCII characters that cannot be included in URLs into %XX format. For example, space becomes %20, and Korean '가' becomes %EA%B0%80.
What's the difference between %20 and +?
%20: Standard space encoding usable in all URL parts
+: Space representation only in query strings
This tool uses the standard encodeURIComponent which encodes to %20.
When should I use URL encoding?
Use it when:
- URL query parameters contain non-ASCII or special characters
- API call parameters include spaces, &, =, ?, etc.
- File names or paths contain special characters
What happens with multiple encoding?
Double encoding issues can occur. For example, re-encoding space (%20) results in %2520. Only encode as many times as needed, and decode the same number of times.
What's the difference between encodeURI and encodeURIComponent?
encodeURI: Encodes entire URL (doesn't encode ://?#=)
encodeURIComponent: Encodes parameter values (encodes all special
characters)
This tool uses the safer encodeURIComponent.
Is my data secure?
Yes! All encoding/decoding happens only in your browser. Your URLs or text are never sent to our servers.
When should I encode query parameters?
Encode query parameters (values after ? or &) when they contain spaces, special characters, or non-ASCII characters. Example: "search=coffee shop" should become "search=coffee%20shop" to work correctly in APIs and web requests.
Why do I see %20 instead of + for spaces?
Both %20 and + can represent spaces in URLs, but they're used in different contexts. This tool uses encodeURIComponent which converts spaces to %20, the standard for URL encoding. %20 works everywhere, while + is mainly for form data (application/x-www-form-urlencoded).