URL Encoder/Decoder
This URL encoder converts special characters into percent-encoded form (for example a space becomes %20) so text can be used safely in a URL, and decodes encoded strings back to plain text.
About this tool
This URL encoder converts special characters into percent-encoded form (for example a space becomes %20) so text can be used safely in a URL, and decodes encoded strings back to plain text.
How to use it
- Paste the text or encoded URL into the input box.
- Click Encode to percent-encode it, or Decode to convert it back.
- Click Copy to copy the output.
Good to know
- Encoding uses JavaScript's encodeURIComponent, which encodes every character except A–Z, a–z, 0–9 and - _ . ! ~ * ' ( ).
- Percent-encoding is defined in RFC 3986: each unsafe byte is written as % followed by two hexadecimal digits.
- Non-ASCII characters are encoded as their UTF-8 bytes, so é becomes %C3%A9.
- Because & = ? / and # are encoded, the output is suited to a single query-string value rather than a whole URL.
Runs entirely in your browser — nothing you enter is uploaded or stored.
Frequently asked questions
Why is a space encoded as %20 and not +?
%20 is the standard percent-encoding for a space. The + form only applies to HTML form data (application/x-www-form-urlencoded).
Should I encode a whole URL or just the parameters?
Encode individual parameter values. Encoding an entire URL also escapes the : / ? and & characters that give the URL its structure.
Why does decoding show 'Invalid encoding'?
The input contains a % that is not followed by two valid hexadecimal digits, or a byte sequence that is not valid UTF-8.
Is my text sent anywhere?
No. Encoding and decoding run entirely in your browser.