URL Encoder & Decoder

Loading the tool…

Encode text so it can be used safely in a URL, or decode a percent-encoded value back to readable text. Values are converted to UTF-8 first, so names in Arabic, Urdu or any other language and emoji come out correctly. Use Encode for a single query value, Encode URL for a whole address, and Decode to read links from logs and emails.

Tip: use Encode for a single query value and Encode URL for a whole address.

How to use the URL Encoder & Decoder

  1. Choose Encode, Encode URL or Decode.
  2. Type or paste your text. The result updates as you type.
  3. Turn on "Space as +" (or "+ means space" when decoding) for HTML form data, and "Each line separately" to convert a list of values.
  4. Copy the result or save it as a file.

Which mode to use

Encode
Encodes every character that has a meaning in URLs, including / ? & = and #. Use it for a value inside a query parameter or a path segment, like encodeURIComponent in JavaScript.
Encode URL
Encodes spaces and non-ASCII characters but keeps the characters that structure a URL, like encodeURI in JavaScript. Use it for a whole address that is already put together.
Decode
Turns %XX sequences back into characters and checks that every % is followed by two hexadecimal digits. If the decoded text is a URL, its query parameters are listed under the result.
Form encoding
HTML forms and many query strings write a space as +. Turn on the + option to encode and decode that way.

Examples

These outputs were produced by the same code that runs in the Tool tab.

Encode a value for a query parameter

Spaces, & and non-English letters are percent-encoded.

Input

Amina Khan & Sons, دبي

Output

Amina%20Khan%20%26%20Sons%2C%20%D8%AF%D8%A8%D9%8A

Encode a complete URL

The address structure is kept; only unsafe characters are encoded.

Input

https://www.zvaad.com/search?q=men shoes&size=42

Output

https://www.zvaad.com/search?q=men%20shoes&size=42
  • Encode URL keeps characters that structure a URL, such as : / ? # & =. To put a value inside a query parameter, use Encode instead.

Form-encode a list of values

Each line is encoded on its own, with spaces as +.

Input

Dubai Marina
Al Barsha 1
Jumeirah Lake Towers

Output

Dubai+Marina
Al+Barsha+1
Jumeirah+Lake+Towers

Frequently asked questions

What is the difference between %20 and +?

Both can stand for a space. %20 works everywhere in a URL; + means a space only in form data and query strings. Inside a path, + is a plus sign.

Why does my decoded text still contain %?

The text was probably encoded twice, so %20 became %2520. Decode the result once more.

Which characters are not encoded?

Letters A–Z and a–z, digits and - _ . ! ~ * ' ( ) stay as they are. Encode URL also keeps ; , / ? : @ & = + $ and #.

Is my text uploaded?

No. Encoding and decoding run on your device.

Limitations and edge cases

  • Text is always encoded as UTF-8. Values encoded in an older character set, such as Windows-1252, cannot be decoded here.
  • Decode reports the first % that is not followed by two hexadecimal digits instead of guessing.

Read the privacy policy for how the site handles data.