URLS must be sent over the Internet using ASCII characters. When a URL contains a character unavailable in the ASCII character set, the URL must be converted into valid ASCII characters. URL encoding, also commonly called percent encoding, replaces non-ASCII characters with a "%" and two subsequent hexadecimal digits. For example, a valid URL cannot contain spaces, which means the space character must be replaced. Space characters are often replaced with "%20" although sometimes you may see them replaced by a "+". For a full list of ASCII characters and their encoded replacement, see URL Encoding Reference.
Developers often find themselves needing to encode URLs to use them, particularly when configuring URLs for a web application or transferring data via HTTP requests. An encoded URL is often more difficult to read without first decoding the URL. For this reason a URL decoder utility is often used to view a more human-friendly format.