jsonecho

URL Encode

Percent-encode text so it can travel safely inside a URL.

Loading the tool...

How to use URL Encode

  1. Paste the text, a single value or a full URL.
  2. Tick "Encode a whole URL" if you pasted an address.
  3. Copy the encoded result.

About URL Encode

URLs can only carry a limited set of characters. A space, an ampersand, a slash inside a value or a letter like ü has to be written as a percent sign and two hex digits, so a space becomes %20 and ü becomes %C3%BC. Anything that lands in a query string should be encoded, or the receiving server may cut the value in the wrong place.

There are two modes. By default every reserved character is encoded, which is what you want for a single value such as a search term. If you paste a whole address, tick "Encode a whole URL" and the characters that give it structure, like :, /, ? and &, stay as they are.

Frequently asked questions

What is the difference between %20 and +?

Both stand for a space, but + only means a space inside a query string in the form encoding used by HTML forms. In the path of a URL, + is a literal plus sign. If in doubt, use %20, which works everywhere.

Why is my ampersand encoded?

Because in a value an ampersand would end the parameter. Unless you tick "Encode a whole URL", every reserved character is encoded.

How are non-English characters handled?

They are first converted to UTF-8 bytes, and each byte is written as a percent sequence. That is the form modern browsers and servers expect.

Do I need to encode the whole URL?

Usually not, only the parts that come from data: values in the query string, and path segments that could contain slashes.

More in URL and Base64

All tools →