HttpServerUtility.UrlDecode Method (String)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

URL-decodes a string and returns the decoded string.

Namespace:   System.Web
Assembly:  System.Web (in System.Web.dll)

public string UrlDecode(
	string s


Type: System.String

The text string to decode.

Return Value

Type: System.String

The decoded text.

URL encoding ensures that all browsers will correctly transmit text in URL strings. Characters such as a question mark (?), ampersand (&), slash mark (/), and spaces might be truncated or corrupted by some browsers. As a result, these characters must be encoded in <a> tags or in query strings where the strings can be re-sent by a browser in a request string.

This method is a convenient way to access the HttpUtility.UrlDecode method at run time from an ASP.NET application. Internally, this method uses HttpUtility.UrlDecode to decode strings.

In the code-behind file for an ASP.NET web page, access an instance of the HttpServerUtility class through the Server property. In a class that is not in a code-behind file, use HttpContext.Current.Server to access an instance of the HttpServerUtility class.

Outside of a web application, use the WebUtility class to encode or decode values.

The following example shows how to URL-decode a value that is retrieved from the query string. The code resides in the code-behind file for a web page. ReturnPage refers to a HyperLink control.

public partial class _Default : Page
    protected void Page_Load(object sender, EventArgs e)
        string returnUrl = Server.UrlDecode(Request.QueryString["url"]);
        ReturnPage.NavigateUrl = returnUrl;

The next example is similar to the previous example except it shows how to URL-decode a value from within a class that is not in the code-behind file.

public class SampleClass
    public string RetrievePassedUrl()
        return HttpContext.Current.Server.UrlDecode(HttpContext.Current.Request.QueryString["url"]);

.NET Framework
Available since 1.1
Return to top