
Security News
Socket Releases Free Certified Patches for Critical vm2 Sandbox Escape
A critical vm2 sandbox escape can allow untrusted JavaScript to break isolation and execute commands on the host Node.js process.
@expertbridge/entities
Advanced tools
Encode & decode HTML & XML entities with ease & speed.
entities is used by many popular libraries; eg.
htmlparser2, the official
AWS SDK and
commonmark use it to
process HTML entities.entities is the fastes library for decoding HTML entities (as of
April 2022); see performance.entitiesnpm install entities
entitiesconst entities = require("entities");
// Encoding
entities.escapeUTF8("& ü"); // "& ü"
entities.encodeXML("& ü"); // "& ü"
entities.encodeHTML("& ü"); // "& ü"
// Decoding
entities.decodeXML("asdf & ÿ ü '"); // "asdf & ÿ ü '"
entities.decodeHTML("asdf & ÿ ü '"); // "asdf & ÿ ü '"
This is how entities compares to other libraries on a very basic benchmark
(see scripts/benchmark.ts, for 10,000,000 iterations; lower is better):
| Library | Version | decode perf | encode perf | escape perf |
|---|---|---|---|---|
| entities | 3.0.1 | 1.418s | 6.786s | 2.196s |
| html-entities | 2.3.2 | 2.530s | 6.829s | 2.415s |
| he | 1.2.0 | 5.800s | 24.237s | 3.624s |
| parse-entities | 3.0.0 | 9.660s | N/A | N/A |
What methods should I actually use to encode my documents?
If your target supports UTF-8, the escapeUTF8 method is going to be your best
choice. Otherwise, use either encodeHTML or encodeXML based on whether
you're dealing with an HTML or an XML document.
You can have a look at the options for the encode and decode methods to see
everything you can configure.
When should I use strict decoding?
When strict decoding, entities not terminated with a semicolon will be ignored. This is helpful for decoding entities in legacy environments.
Why should I use
entitiesinstead of alternative modules?
As of April 2022, entities is a bit faster than other modules. Still, this is
not a very differentiated space and other modules can catch up.
More importantly, you might already have entities in your dependency graph
(as a dependency of eg. cheerio, or htmlparser2), and including it directly
might not even increase your bundle size. The same is true for other entity
libraries, so have a look through your node_modules directory!
Does
entitiessupport tree shaking?
Yes! entities ships as both a CommonJS and a ES module. Note that for best
results, you should not use the encode and decode functions, as they wrap
around a number of other functions, all of which will remain in the bundle.
Instead, use the functions that you need directly.
This libary wouldn't be possible without the work of these individuals. Thanks to
he, which was one of the
inspirations for entitiesparse5 projecthtml-entities library.
entities would be quite a bit slower if there wasn't any competition.
Right now entities is on top, but we'll see how long that lasts!License: BSD-2-Clause
To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.
entities for enterpriseAvailable as part of the Tidelift Subscription
The maintainers of entities and thousands of other packages are working with
Tidelift to deliver commercial support and maintenance for the open source
dependencies you use to build your applications. Save time, reduce risk, and
improve code health, while paying the maintainers of the exact dependencies you
use.
Learn more.
FAQs
Encode & decode XML and HTML entities with ease & speed
The npm package @expertbridge/entities receives a total of 11 weekly downloads. As such, @expertbridge/entities popularity was classified as not popular.
We found that @expertbridge/entities demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
A critical vm2 sandbox escape can allow untrusted JavaScript to break isolation and execute commands on the host Node.js process.

Research
Five malicious NuGet packages impersonate Chinese .NET libraries to deploy a stealer targeting browser credentials, crypto wallets, SSH keys, and local files.

Security News
pnpm 11 turns on a 1-day Minimum Release Age and blocks exotic subdeps by default, adding safeguards against fast-moving supply chain attacks.