URL Encoder and Decoder

Percent-encode and decode URLs and query string values.

Runs in your browser. Your input is not uploaded.

What are you encoding?

What URL encoding does

URLs can only contain a limited set of characters. Anything else, such as spaces, accented letters, emoji, or characters with a special meaning like & and ?, must be percent-encoded: converted to UTF-8 bytes and written as % followed by two hexadecimal digits. For example, a space becomes %20 and é becomes %C3%A9.

A value or a complete URL?

This choice matters, and picking the wrong one is a common source of broken links.

ModeUse it forLeaves unchanged
A value or part of a URL
encodeURIComponent
A single query parameter value, path segment or fragment, before you insert it into a URL.A–Z a–z 0–9 - _ . ! ~ * ' ( )
A complete URL
encodeURI
A whole URL that already has the right structure but contains spaces or non-ASCII characters.The above, plus URL syntax: ; , / ? : @ & = + $ #

For example, to put rock & roll in a search link, encode it as a value:rock%20%26%20roll. Encoding it as a complete URL would leave the & alone, and the server would read it as the start of a new parameter.

How to use it

  1. Choose whether your input is a single value or a complete URL.
  2. Paste your text and press Encode or Decode. After that, the result updates as you type.
  3. Use Use as input to run the result through again, for example to decode something that was encoded twice.

Limitations

  • Encoding always produces UTF-8, the standard for URLs. Text that was encoded with a legacy character set (such as Latin-1, where é is %E9) cannot be decoded and is reported as an error.
  • Input is limited to 2 million characters.

Frequently asked questions

Why do spaces sometimes appear as + instead of %20?

HTML forms submitted with the default application/x-www-form-urlencoded format encode spaces as +. Percent-encoding uses %20. Both are common in query strings. When decoding form data, tick Treat + as a space. When encoding, this tool always uses %20, which is valid everywhere.

What does “malformed URI sequence” mean?

It means the text contains a % that is not followed by two hexadecimal digits, or a series of escapes that do not form a valid UTF-8 character. This tool shows you where the problem starts. A literal percent sign must be written as %25.

Is URL encoding the same as encryption?

No. URL encoding only makes text safe to put inside a URL. Anyone can decode it, so never rely on it to hide sensitive information.