escape()
escape(
str):string
Escapes HTML special characters to their corresponding entities.
Escapes &, <, >, ", and '. Essential for XSS prevention.
Parametersโ
str: stringโ
The string to escape.
Returns: stringโ
The escaped string.
See Alsoโ
unescape for the inverse operation.
Sinceโ
2.0.0
Performanceโ
O(n) time where n is string length. Single regex pass with object lookup.
Also known asโ
escape (Lodash, es-toolkit) ยท escapeHTML (Radashi) ยท escapeHtml (Modern Dash) ยท โ (Remeda, Ramda, Effect, Antfu)
Exampleโ
escape('<div>'); // => '<div>'
escape('a & b'); // => 'a & b'
escape('"hello"'); // => '"hello"'
escape('<script>alert("XSS")</script>');
// => '<script>alert("XSS")</script>'
How it works?โ
Escapes HTML special characters to their corresponding entities. Essential for XSS prevention.
Character Mappingโ
| Character | Entity |
|---|---|
& | & |
< | < |
> | > |
" | " |
' | ' |
XSS Preventionโ
Roundtrip with unescapeโ
Use Casesโ
Prevent XSS ๐โ
Escape unsafe characters in strings before rendering to HTML. Critical for security when displaying user-generated content.
const safeHtml = escape('<script>alert("xss")</script>');
// '<script>alert("xss")</script>'
Sanitize user commentsโ
Escape HTML entities in user-submitted content before display.
const comment = escape('I <3 this product & service!');
// 'I <3 this product & service!'
Escape user input in HTML email templatesโ
Prevent HTML injection when inserting user-provided data into email templates.
const html = `
<h1>Hello ${escape(userName)}</h1>
<p>Your message: ${escape(userMessage)}</p>
`;
sendEmail({ to: recipient, html });