files/en-us/web/javascript/reference/global_objects/unescape/index.md
{{Deprecated_Header}}
[!NOTE]
unescape()is a non-standard function implemented by browsers and was only standardized for cross-engine compatibility. It is not required to be implemented by all JavaScript engines and may not work everywhere. Use {{jsxref("decodeURIComponent()")}} or {{jsxref("decodeURI()")}} if possible.
The unescape() function computes a new string in which hexadecimal escape sequences are replaced with the characters that they represent. The escape sequences might be introduced by a function like {{jsxref("escape()")}}.
unescape(str)
str
A new string in which certain characters have been unescaped.
unescape() is a function property of the global object.
The unescape() function replaces any escape sequence with the character that it represents. Specifically, it replaces any escape sequence of the form %XX or %uXXXX (where X represents one hexadecimal digit) with the character that has the hexadecimal value XX/XXXX. If the escape sequence is not a valid escape sequence (for example, if % is followed by one or no hex digit), it is left as-is.
[!NOTE] This function was used mostly for {{Glossary("Percent-encoding", "percent-encoding")}} and is partly based on the escape format in {{rfc(1738)}}. The
unescape()function does not evaluate escape sequences in string literals. You can replace\xXXwith%XXand\uXXXXwith%uXXXXto get a string that can be handled byunescape().
unescape("abc123"); // "abc123"
unescape("%E4%F6%FC"); // "äöü"
unescape("%u0107"); // "ć"
{{Specifications}}
{{Compat}}
unescape in core-js