URL Encoder & Decoder

Percent-encode text so it is safe inside a URL, or decode a percent-encoded string. Choose component mode for single values or full URL mode for complete addresses.

URL Encoder & DecoderRuns in your browser
Mode

Component vs. full URL

URL component mode uses encodeURIComponent. It encodes reserved characters such as / ? : # & =, so use it for one value, like a query parameter. Full URL mode uses encodeURI. It leaves those structural characters alone, so a complete address keeps working. Encoding a whole URL in component mode would turn https:// into https%3A%2F%2F.

Your input stays in your browser and is not sent to a server by this page.

What it is and when to use it

URLs can only contain a limited set of characters, so spaces, accents and symbols must be percent-encoded, for example a space becomes %20. Use this tool to build safe query strings, to read an encoded link, or to debug a redirect that breaks.

How to use

  1. Pick component mode for a single value, or full URL mode for a whole address.
  2. Enter your text.
  3. Select Encode or Decode.
  4. Copy the result.

Example

Input
Zoë & café
Result
Zo%C3%AB%20%26%20caf%C3%A9

Tips and common mistakes

Frequently asked questions

Why does decoding show an error?

A % sign must be followed by two hex digits, and the bytes must form valid UTF-8. Text like 100% sure is not valid percent-encoding.

Is a space %20 or +?

Percent-encoding uses %20. A + as space only appears in HTML form data (application/x-www-form-urlencoded), which is why the decode option exists.

Does it send my URL anywhere?

No. Encoding and decoding use built-in browser functions and run locally.

Related tools