URL Encoder & Decoder

Encode text so it is safe inside a URL, or decode %20-style text back to readable characters. Paste a full URL to see its host, path and every query parameter decoded.

Encode or decode a URL

Percent-encoding · updates as you type.

Encoded

Options

How to use it

  1. Choose Encode or Decode.
  2. When encoding, pick what you are encoding: a single value (most common), a whole URL, or form data where spaces become +.
  3. Type or paste in the left box; the result appears on the right.
  4. For a full URL, check "URL parts" and "Query parameters" below to see each piece decoded.

Good to know

Value or whole URL?
encodeURIComponent escapes everything except letters, digits and - _ . ! ~ * ' ( ), which is right for a single query value. encodeURI leaves the characters that give a URL its structure (: / ? # & =) alone, so use it for a complete address.
Unicode
Characters such as ₹, é or हिन्दी are converted to UTF-8 bytes and then to %XX codes, which is what browsers and servers expect.
Errors are pinpointed
A stray % or bytes that are not valid UTF-8 are reported with their position, instead of a generic "URI malformed" error.

Frequently asked questions

Should a space be %20 or +?

In paths and most of a URL a space is %20. In HTML form submissions (application/x-www-form-urlencoded), a space is written as +. Choose "Form data" to get +, and tick "Treat + as a space" when decoding form data.

Why does my decoded text still contain %20?

It was probably encoded twice (a % became %25). Click "decode again" to decode it one more time.

What is "URI malformed"?

It is the browser's error for invalid percent-encoding: a % without two hex digits after it, or bytes that are not valid UTF-8. This tool shows where the problem is.

Is URL encoding the same as encryption?

No. It only replaces characters that have special meaning in URLs. Anyone can decode it.

Say hello

Let’s connect.

Have an idea, a project, a collaboration — or just want to say hello? I read every message.

Write to me