js-xss
Sanitize untrusted HTML (to prevent XSS) with a configuration specified by a Whitelist (by leizongmin)
DOMPurify
DOMPurify - a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. DOMPurify works with a secure default, but offers a lot of configurability and hooks. Demo: (by cure53)
| js-xss | DOMPurify | |
|---|---|---|
| 5 | 57 | |
| 5,319 | 17,078 | |
| 0.1% | 0.9% | |
| 4.5 | 8.7 | |
| about 1 month ago | 1 day ago | |
| HTML | JavaScript | |
| GNU General Public License v3.0 or later | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
js-xss
Posts with mentions or reviews of js-xss.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-07-17.
-
Security Best Practices for Your Node.js Application
Encode output data before user-controllable data is written to a page to prevent it from being interpreted as HTML or JavaScript. You can use tools like xss for this purpose.
-
Introducing xss-shield - protect your Express.js App from XSS Attacks
xss-shield is a powerful middleware package that helps you protect your express.js app from Cross-Site Scripting (XSS) attacks. It's built on top of the popular xss (https://www.npmjs.com/package/xss) package and includes additional features like strict typing
-
Is there any package that trims html tags?
I personally always tend to use this one. It's lightweight, configurable and has Typescript support built in
-
Storing user input html in a database for others users to see
Searching for XSS specifically actually comes up with a few - https://www.npmjs.com/package/xss looks solid. I was being to literal in my search! Should have tried bing.
-
Browser extension - Integrate your features securely
There are a few libraries you can use to protect from xss. For instance the xss library on npm.
DOMPurify
Posts with mentions or reviews of DOMPurify.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2025-10-25.
- DOMPurify, DOM-only, fast, Uber-tolerant XSS sanitizer for HTML, SVG and MathML
-
Dompurify : Prevent XSS Attack remove all the script tag.
To solve this problem i use a package dompurify DOMpurify is used to prevent the XSS Attack. It remove all the dangerous tag from html and prevent XSS attack.
-
📢 HMPL v3.1: New major update!
When working with Hypermedia, unlike other tools, we pay special attention to the security of incoming data from the server. Therefore, one of our solutions was integration with DOMPurify, which cleans incoming HTML of potentially dangerous markup.
-
Protecting against cross-site scripting with trusted types
https://github.com/w3c/trusted-types https://developer.mozilla.org/en-US/docs/Web/API/Trusted_Types_API https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy/trusted-types https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/meta/http-equiv https://github.com/cure53/DOMPurify
- Less is safer: how Obsidian reduces the risk of supply chain attacks
-
NodeJS Fundamentals: pure function
Pure functions, by their nature, reduce the attack surface. Because they don’t modify external state, they’re less susceptible to side-effect vulnerabilities like object pollution or prototype attacks. However, if a pure function processes user input, it’s still crucial to validate and sanitize that input to prevent XSS or other injection attacks. Libraries like DOMPurify (https://github.com/cure53/DOMPurify) can be used to sanitize HTML content, and schema validation libraries like zod (https://github.com/colyseus/zod) can be used to validate data structures. Always treat user input as untrusted.
-
NodeJS Fundamentals: ECMAScript
ECMAScript features like Proxy can be exploited if not used carefully. Avoid creating proxies that intercept sensitive operations without proper validation. Prototype pollution attacks are a concern; sanitize user input and avoid modifying the Object.prototype. XSS vulnerabilities can arise from improperly handling user-provided data in dynamic contexts. Use DOMPurify (https://github.com/cure53/DOMPurify) to sanitize HTML before rendering it. Validation libraries like zod (https://github.com/colyseus/zod) can enforce data schemas and prevent unexpected input.
-
Your rich text could be a cross-site scripting vulnerability
Let's take a look at how we implement sanitization in the secure version of our vulnerable application. Since this application is primarily written using JavaScript, we use the dompurify library for the client side and the isomorphic-dompurify library for server-side sanitization. In the app.js program that acts as our web server, you will find an express endpoint /sanitized with a GET and POST implementation:
-
The Final Stretch of My Open Source Journey: Part 2
After several hours of code review, I finally spotted something unfamiliar in the Markdown Renderer component: a function called escapeHTML was being used to escape HTML, even though DOMPurify was already being used for sanitization right after!
-
Understanding Cross-Site Scripting (XSS): A Quick Reference
DOMPurify Documentation
What are some alternatives?
When comparing js-xss and DOMPurify you can also consider the following projects:
Themis - Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.
sanitize-html - Clean up user-submitted HTML, preserving whitelisted elements and whitelisted attributes on a per-element basis. Built on htmlparser2 for speed and tolerance
xss-filters
SuperTokens Community - Open source alternative to Auth0 / Firebase Auth / AWS Cognito