A few seconds.


Faster HTML entities encode/decode library.


Build Status Coverage Status

Fast html entities library.


$ npm install html-entities


XML entities

HTML validity and XSS attack prevention you can achieve from XmlEntities class.

const Entities = require('html-entities').XmlEntities;

const entities = new Entities();

console.log(entities.encode('<>"\'&©®')); // &lt;&gt;&quot;&apos;&amp;©®
console.log(entities.encodeNonUTF('<>"\'&©®')); // &lt;&gt;&quot;&apos;&amp;&#169;&#174;
console.log(entities.encodeNonASCII('<>"\'&©®')); // <>"\'&©®
console.log(entities.decode('&lt;&gt;&quot;&apos;&amp;&copy;&reg;&#8710;')); // <>"'&&copy;&reg;∆

All HTML entities encoding/decoding

const Entities = require('html-entities').AllHtmlEntities;

const entities = new Entities();

console.log(entities.encode('<>"&©®∆')); // &lt;&gt;&quot;&amp;&copy;&reg;∆
console.log(entities.encodeNonUTF('<>"&©®∆')); // &lt;&gt;&quot;&amp;&copy;&reg;&#8710;
console.log(entities.encodeNonASCII('<>"&©®∆')); // <>"&©®&#8710;
console.log(entities.decode('&lt;&gt;&quot;&amp;&copy;&reg;')); // <>"&©®

Available classes

const XmlEntities = require('html-entities').XmlEntities, // <>"'& + &#...; decoding
      Html4Entities = require('html-entities').Html4Entities, // HTML4 entities.
      Html5Entities = require('html-entities').Html5Entities, // HTML5 entities.
      AllHtmlEntities = require('html-entities').AllHtmlEntities; // Synonym for HTML5 entities.

Supports four methods for every class:

  • encode — encodes, replacing characters to its entity representations. Ignores UTF characters with no entity representation.
  • encodeNonUTF — encodes, replacing characters to its entity representations. Inserts numeric entities for UTF characters.
  • encodeNonASCII — encodes, replacing only non-ASCII characters to its numeric entity representations.
  • decode — decodes, replacing entities to characters. Unknown entities are left as is.
Pincer is a project which aims to provide best library discovery tools for developers. We're growing day by day. We have only npm platform for now but we will add the others as much as we can.