Warning: Although escape() is not strictly deprecated (as in "removed from the Web standards"), it is defined in Annex B of the ECMA-262 standard, whose introduction states:
… All of the language features and behaviours specified in this annex have one or more undesirable characteristics and in the absence of legacy usage would be removed from this specification. …
… Programmers should not use or assume the existence of these features and behaviours when writing new ECMAScript code. …

The escape() function computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.

Note that this function was used mostly for URL queries (the part of a URL following '?') not for escapes in ordinary String literals, which use the format "\xHH", where HH are two hexadecimal digits (with \xHH\xHH... for higher-plane Unicode characters). Escaped characters in String literals can be expanded by replacing the \x by % and then using the decodeURIComponent function.




A string to be encoded.

Return value

A new string in which certain characters have been escaped.


The escape function is a property of the global object. Special characters are encoded with the exception of: @*_+-./

The hexadecimal form for characters, whose code unit value is 0xFF or less, is a two-digit escape sequence: %xx. For characters with a greater code unit, the four-digit format %uxxxx is used.


escape('abc123');     // "abc123"
escape('äöü');        // "%E4%F6%FC"
escape('ć');          // "%u0107"

// special characters
escape('@*_+-./');    // "@*_+-./"


ECMAScript Latest Draft (ECMA-262)
The definition of 'escape' in that specification.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Chrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 3Opera Full support YesSafari Full support YesWebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 1.0nodejs Full support Yes


Full support  
Full support
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.

See also