URL encoder and decoder

Turns hello world & more into hello%20world%20%26%20more and back, for query strings, links and APIs.

Mode

Runs in your browser. Nothing you enter is sent to our server.

About this tool

Only a limited set of characters is allowed in URLs. Spaces, non-ASCII letters and &, = or ? inside values must be encoded: each UTF-8 byte is written as % plus two hex digits.

By default the tool encodes a parameter value completely (like encodeURIComponent). To encode a ready-made link without breaking its structure, switch on whole-URL encoding.

How to use

  1. Choose “Encode” or “Decode”.
  2. Paste text or a link — the result appears immediately.
  3. When decoding HTML form data, turn on “Treat + as a space”.

Examples

Input
hello world & more
Result
hello%20world%20%26%20more
Input
caf%C3%A9
Result
café

Frequently asked questions

What is the difference between encoding a parameter and a whole URL?

Parameter encoding also escapes / ? & = #, which would otherwise break the address. Whole-URL encoding keeps them.

Is a space %20 or +?

In URLs it is %20. The + for a space is only used in HTML form data (application/x-www-form-urlencoded).

Why does decoding fail?

Usually a % is not followed by two hex digits, or the bytes do not form valid UTF-8 — for example when a link was cut off.