Skip to content

URL Encode / Decode

Percent-encode text for URLs or decode %20 style strings. Separate options for query values and full URLs. Free, private, in your browser.

How to use the url encode / decode

  1. Paste text or a URL.
  2. Use Encode or Decode for a single value (query parameters), or the full URL buttons to keep characters like : / ? & intact.
  3. Copy the result.

About this tool

URLs can only carry a limited set of characters, so spaces, symbols and non-English text are percent-encoded, for example a space becomes %20. Use Encode for a single query value and the full URL buttons when you want to keep characters like : / ? and & intact.

Why URLs need encoding

A URL can safely contain only letters, digits and a few symbols. Everything else, such as spaces, non-English letters and characters that have a special meaning, is replaced by a percent sign and two hex digits. That is percent-encoding, and a browser or server reverses it when reading the URL.

Common characters

CharacterEncodedWhy it matters
Space%20Not allowed in a URL
&%26Separates query parameters
=%3DSeparates a key from its value
?%3FStarts the query string
#%23Starts the fragment
/%2FSeparates path segments
+%2BCan be read as a space in forms
%%25The escape character itself

Letters outside English are encoded as UTF-8 bytes. For example é becomes %C3%A9.

Encode or Encode full URL?

Encode is for a single value, such as the text of a search parameter, and it converts every reserved character including / ? & and =. Encode full URL leaves those structural characters alone and only fixes characters like spaces and non-English letters, so use it when you are cleaning up a whole address.

Mistakes to avoid

Frequently asked questions

What is the difference between Encode and Encode full URL?

Encode converts every reserved character, which is right for a single query value. Encode full URL leaves : / ? # & = alone so the URL structure survives.

Why do I get an error when decoding?

A lone % sign that is not followed by two hex digits is invalid. Escape it as %25 first.

Is my text uploaded?

No. Everything runs in your browser. Nothing is uploaded.

How do I decode %20 and %2F?

Paste the text and click Decode. %20 becomes a space and %2F becomes a slash.

Why does decoding say my input is invalid?

A % sign must be followed by two hex digits. A stray % in the text, for example in "50% off", needs to be written as %25.

More developer tools

Related tools