URL Encode online

The tool uses UTF-8 encoding scheme.Found a bug? report!

Latest From The Blog

About URLEncoder

URL Encoder is a simple and easy to use online tool for encoding URLs. You just need to type or paste a string in the input text area, the tool will automatically convert your string to URL encoded format in real time. Once the URL is encoded, you can click in the output text area to copy the encoded URL. Note that, our tool uses UTF-8 encoding scheme for encoding URLs. The world wide web consortium recommends that UTF-8 should be used for encoding.

Apart from the tool, our website also contains various articles about how to encode URLs in different programming languages.

What is URL encoding or Percent Encoding?

URLs in the world wide web can only contain ASCII alphanumeric characters and some other safe characters like hyphen (-), underscore (_), tilde (~), and dot (.).

Alphabets   /   Digits   /   "-"   /   "_"   /   "~"   /   "."

Any other character apart from the above list must be encoded.

URL encoding, also known as percent encoding, is a way to encode or escape reserved, unprintable, or non-ASCII characters in URLs to a safe and secure format that can be transmitted over the internet. It is also used in preparing data for submitting HTML forms with content-type application/x-www-form-urlencoded.

How does URL encoding work?

URL Encoding works like this - It first converts the character to one or more bytes. Then each byte is represented by two hexadecimal digits preceded by a percent sign (%) - (e.g. %xy). That gives us the URL encoded value.

The percent sign is used as an escape character that's why we also refer to URL encoding as Percent encoding.

Percent Encoded = "%" HEXDIG HEXDIG

For instance, Let's understand how to URL encode the character @. To encode @, we first convert it into a sequence of bytes using its ASCII value. The ASCII value of @ in decimal is 64 which when converted to hexadecimal comes out to be 40. We then precede the hex value with percent sign, which gives us the final URL encoded value %40.

URL Encoding character classification

Following is the classification of different types of characters that cannot be placed directly inside URLs -

ASCII control characters: Characters in the range 0-31 and 127 in the ASCII character set are control characters. These characters are unprintable and cannot be placed directly inside any URL without encoding. Some examples of control characters include backspace, carriage return, line feed, vertical tab, horizontal tab etc.

Reserved characters: Characters like ?, :, /, #, & have special meaning within URLs. Therefore you can't place them directly inside URLs without encoding or escaping.

Unsafe characters: Many characters like space, <, >, {, } are unsafe and must be encoded before placing them inside URLs.

Non ASCII characters: Finally, you cannot securely transmit any character outside the ASCII character set inside URLs. You must encode them.

ClassificationCharactersEncoding required?
Safe charactersAlphabets (A-Z a-z), Digits (0-9), hyphen (-), underscore (_) tilde (~), and dot (.)No
ASCII control charactersCharacters in the range 0-31 and 127 in the ASCII character setYes
Reserved Characters: / ? # [ ] @ ! $ & ' ( )* + , ; =Yes
Unsafe Charactersspace < > { } | ` ^ \Yes
Non ASCII charactersCharacters outside the US-ASCII set.Yes

Common ASCII characters and their URL encoded value

CharacterURL Encoding (UTF-8)
space%20
"%22
%%25
&%26
/%2F
=%3D
?%3F
@%40

You can check out the complete ASCII character encoding reference in this blog post.

We also have a tool to decode URLs back to their normal form. It is hosted at https://www.urldecoder.io. Don't forget to check that out if you need to decode URL encoded strings.

You can read more on the blog.