URL Encoder and Decoder
Description
Encode URLs with percent-encoding for safe transmission or decode them back to readable text. Essential for web development and API parameter handling.
About URL Encoder and Decoder
The URL Encoder / Decoder converts text to and from percent-encoding (also called URL encoding) in your browser. Percent-encoding replaces characters that are unsafe or reserved in a URL — spaces, &, ?, /, and non-ASCII characters — with a % followed by their hex byte value, so the URL transmits intact. Use it when building query strings, debugging redirects, or handling API parameters.
How to use
- Type or paste readable text into the Decoded side to encode it.
- Paste a percent-encoded string into the Encoded side to decode it back.
- Both sides stay in sync as you edit either one.
- Copy whichever form you need for your URL or API request.
Examples
| Example | Input | Output |
|---|---|---|
| Encode | hello world & co? | hello%20world%20%26%20co%3F |
| Decode | a%2Fb%3Fc%3Dd | a/b?c=d |
Frequently asked questions
What's the difference between encodeURI and encodeURIComponent?
encodeURIComponent escapes more characters (including & = ? /) and is correct for a single query-string value. encodeURI keeps URL structure characters intact and is for encoding a whole URL. When in doubt for a parameter value, use the component form.
Why is a space sometimes %20 and sometimes +?
In the path, a space is %20. In application/x-www-form-urlencoded query strings, a space is often encoded as +. Both decode back to a space in the right context.
Does it handle emoji and non-English characters?
Yes. Non-ASCII characters are first encoded as UTF-8 bytes, then each byte is percent-encoded, so emoji and accented letters round-trip correctly.
Is my text uploaded anywhere?
No. Encoding and decoding happen entirely in your browser.