URL Encoder / Decoder

Paste text or a URL and it is encoded or decoded as you type.

Your text and files never leave your browser — nothing is sent to a server.

How to use

  1. Paste your text into the input box and pick Encode or Decode.
  2. Choose “Query value / parameter” to encode a single value — characters like & = / ? are escaped so they cannot break the query string.
  3. Choose “Whole URL” to keep the URL structure (: / ? & =) intact and only escape spaces and non-ASCII characters. Each line is treated as a separate URL.
  4. Turn on “Spaces as +” for HTML form data (application/x-www-form-urlencoded). When decoding, it turns + back into spaces.
  5. Use the swap button to send the result back to the input and switch direction.

FAQ

What is the difference between encodeURIComponent and encodeURI?

encodeURIComponent escapes every reserved character, so it is meant for a single value inside a URL. encodeURI leaves characters such as : / ? # & = alone, so a complete URL still works after encoding.

Should a space be %20 or +?

In paths and most query strings a space is %20. HTML forms submitted with application/x-www-form-urlencoded use + instead. Both decode to a space if the server expects that format.

Why does decoding report invalid sequences?

A % must be followed by two hex digits, and the bytes must form valid UTF-8. A stray % (like “100%”) or text encoded in an older charset such as Shift_JIS or EUC-KR cannot be decoded, so those parts are kept as they are.

Related tools

All tools