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

  1. Paste the text or encoded URL into the input box.
  2. Click Encode to percent-encode it, or Decode to convert it back.
  3. 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.