Search tools

URL Encoder and Decoder

Percent encode text for URLs and decode encoded URLs and query strings back to readable text.

Runs entirely in your browser. Nothing you paste is sent to our server, stored or logged.

Encoded

Paste text to percent encode it for a URL, or paste an encoded URL to make it readable again. Say whether you are encoding a single value, a whole URL or form data, and the right rules are applied for each. Paste a full URL and its query parameters are listed one by one, already decoded.

What URL encoding does

A URL may only contain a limited set of characters. Anything else, from a space to an accented letter, is written as a percent sign and two hexadecimal digits for each byte of its UTF-8 form, so a space becomes %20 and é becomes %C3%A9. Characters such as ?, & and = are encoded too when they belong to a value, so they are not mistaken for the structure of the URL.

A value, a whole URL or form data

Encode a single value, such as a search term going into a query string, as a value: everything except letters, digits and - . _ ~ is encoded. Encode a whole URL when you want spaces and other unsafe characters fixed but the : / ? # & = that hold it together kept. Form data is what an HTML form sends: like a value, except that spaces become +.

Plus signs, double encoding and broken sequences

A + means a space only in query strings and form data, so the decoder lets you choose. If a decoded result still shows sequences such as %20, the text was encoded twice and one more decode fixes it. A sequence like %E9 on its own is not valid UTF-8; it usually comes from an older system that encoded text as Latin-1.

How to use the url encoder

  1. Choose Encode or DecodeEncode makes text safe for a URL; Decode makes an encoded URL readable.
  2. Say what you are encodingA single value, a whole URL or form data. Decoding handles all three.
  3. Copy the resultCopy it, or read the query parameters listed underneath.

Common questions

What is the difference between encodeURI and encodeURIComponent?

encodeURI is for a whole URL and leaves the characters that give it structure, such as / ? & and =, alone. encodeURIComponent is for one value inside a URL and encodes those characters too. Using encodeURI on a value is a common bug: an & in the value then splits it into two parameters.

Should a space be %20 or +?

Both mean a space in a query string or form data, where + is the traditional form encoding. In the path of a URL only %20 does, because a + there is a literal plus sign. When in doubt, %20 is safe everywhere.

Why does my URL contain %2520?

It was encoded twice. %25 is an encoded percent sign, so %2520 is an encoded %20. Decoding it once gives %20, and decoding again gives the space. The decoder points this out and can decode the result again for you.

Which characters are never encoded?

Letters, digits and the four characters - . _ ~ are unreserved in RFC 3986 and never need encoding. When encoding a value this tool encodes everything else, including ! ' ( ) and *, which some encoders leave alone.

What does a % error mean when decoding?

Either a % sign is not followed by two hexadecimal digits, or the bytes do not form valid UTF-8. A literal % must itself be encoded as %25, and text encoded as Latin-1 by older software has to be converted before it decodes as UTF-8.

Is anything I paste sent to a server?

No. Encoding and decoding happen in your browser and nothing you paste is uploaded, stored or logged. There is no share link, because URLs often carry tokens and personal details in their query strings.