Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Dompurify vs sanitize-html vs js-xss 564651
(version: 0)
Comparing performance of:
DOMPurify vs Sanitize HTML vs js-xss
Created:
one year ago
by:
Guest
Jump to the latest result
HTML Preparation code:
<script src="https://cdnjs.cloudflare.com/ajax/libs/sanitize-html/1.27.5/sanitize-html.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/dompurify/2.2.7/purify.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/js-xss/0.3.3/xss.min.js"></script>
Tests:
DOMPurify
const testString = ` <img src=x onerror=alert(1)//> <svg><g/onload=alert(2)//<p> <p>abc<iframe//src=jAva	script:alert(3)>def</p> <math><mi//xlink:href="data:x,<script>alert(4)</script>"> <p>paragrahp opijegopjieg</p> <pre>code fwefwefwefwfewef</pre> <blockquote><br>quote fsdfsfsdafsdf</blockquote> <h1>h1 wfwefwefwe</h1> <h2>h2 wefwefegrgerergerg</h2> <h3>h3 erfergergerrrrrrrrrrrrrrrrrrrrrrrrreg </h3> <h4>h4 fdsaggasgsagsd</h4> <div>wefwe<span style="color: rgb(255, 0, 0); text-decoration: inherit;">fwefreee</span>ee<span style="background-color: rgb(255, 255, 0);">eeeeeeee</span>eeeegREGERGergerergergergerg</div> <div style="text-align: right;">right</div> <div style="text-align: center;">center</div> <div style="text-align: justify;">fweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef wefffffffffffffffffff weffffffffffffffffffffff justify</div> <ol> <li style="text-align: justify;"> <div style="text-align: justify;">wefwef</div> </li> <li style="text-align: justify;"> <div style="text-align: justify;">wefewf</div> </li> <li style="text-align: justify;"> <div style="text-align: justify;">wef</div> <ol> <li style="text-align: justify;"> <div style="text-align: justify;">wfwefewf</div> </li> </ol> </li> </ol> <ul> <li>wefwef</li> <li>ewfewf</li> <li>ewfewf</li> <li>wefwef</li> </ul> <p style="margin-left: 40px;">indent</p> <p style=""><span style="font-family: Impact, Charcoal, sans-serif;">rgfregergreg</span></p> <p style=""><span style="font-family: Georgia, serif;">ergreg</span></p> <p style=""><span style="font-family: Tahoma, Geneva, sans-serif;">ergerggre</span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;">ergerg</span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;"><span style="text-decoration: underline;">u</span></span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;"><span style="text-decoration: line-through;">ssssssssss</span></span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;"><em>itryjtyj</em></span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;"><strong>bbbbbbbbb</strong></span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;"><strong><em><span style="text-decoration: underline;"><span style="text-decoration: line-through;">sdfgfdgssdfgsdfg</span></span></em></strong></span></p> <table class="e-rte-table" style="width: 100%; min-width: 0px; border: 0.1px solid black; height: 120px;"> <tbody> <tr style="height: 54.918%;"> <td style="border: 0.1px solid black; width: 31.7708%;" class="">esgerg</td> <td style="border: 0.1px solid black; width: 18.2292%;"><br></td> <td style="border: 0.1px solid black; width: 25%;"><br></td> <td style="border: 0.1px solid black; width: 25%;"><br></td> </tr> <tr style="height: 22.1311%;"> <td style="border: 0.1px solid black; width: 31.7708%;"><br></td> <td style="border: 0.1px solid black; width: 18.2292%;" class="">ergreg</td> <td style="border: 0.1px solid black; width: 25%;"><br></td> <td style="border: 0.1px solid black; width: 25%;"><br></td> </tr> <tr style="height: 22.1311%;"> <td style="border: 0.1px solid black; width: 31.7708%;"><br></td> <td style="border: 0.1px solid black; width: 18.2292%;"><br></td> <td style="border: 0.1px solid black; width: 25%;" class="">ergerg</td> <td style="border: 0.1px solid black; width: 25%;"><br></td> </tr> </tbody> </table> <p><br></p> ` const result = DOMPurify.sanitize(testString)
Sanitize HTML
const testString = ` <img src=x onerror=alert(1)//> <svg><g/onload=alert(2)//<p> <p>abc<iframe//src=jAva	script:alert(3)>def</p> <math><mi//xlink:href="data:x,<script>alert(4)</script>"> <p>paragrahp opijegopjieg</p> <pre>code fwefwefwefwfewef</pre> <blockquote><br>quote fsdfsfsdafsdf</blockquote> <h1>h1 wfwefwefwe</h1> <h2>h2 wefwefegrgerergerg</h2> <h3>h3 erfergergerrrrrrrrrrrrrrrrrrrrrrrrreg </h3> <h4>h4 fdsaggasgsagsd</h4> <div>wefwe<span style="color: rgb(255, 0, 0); text-decoration: inherit;">fwefreee</span>ee<span style="background-color: rgb(255, 255, 0);">eeeeeeee</span>eeeegREGERGergerergergergerg</div> <div style="text-align: right;">right</div> <div style="text-align: center;">center</div> <div style="text-align: justify;">fweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef wefffffffffffffffffff weffffffffffffffffffffff justify</div> <ol> <li style="text-align: justify;"> <div style="text-align: justify;">wefwef</div> </li> <li style="text-align: justify;"> <div style="text-align: justify;">wefewf</div> </li> <li style="text-align: justify;"> <div style="text-align: justify;">wef</div> <ol> <li style="text-align: justify;"> <div style="text-align: justify;">wfwefewf</div> </li> </ol> </li> </ol> <ul> <li>wefwef</li> <li>ewfewf</li> <li>ewfewf</li> <li>wefwef</li> </ul> <p style="margin-left: 40px;">indent</p> <p style=""><span style="font-family: Impact, Charcoal, sans-serif;">rgfregergreg</span></p> <p style=""><span style="font-family: Georgia, serif;">ergreg</span></p> <p style=""><span style="font-family: Tahoma, Geneva, sans-serif;">ergerggre</span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;">ergerg</span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;"><span style="text-decoration: underline;">u</span></span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;"><span style="text-decoration: line-through;">ssssssssss</span></span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;"><em>itryjtyj</em></span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;"><strong>bbbbbbbbb</strong></span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;"><strong><em><span style="text-decoration: underline;"><span style="text-decoration: line-through;">sdfgfdgssdfgsdfg</span></span></em></strong></span></p> <table class="e-rte-table" style="width: 100%; min-width: 0px; border: 0.1px solid black; height: 120px;"> <tbody> <tr style="height: 54.918%;"> <td style="border: 0.1px solid black; width: 31.7708%;" class="">esgerg</td> <td style="border: 0.1px solid black; width: 18.2292%;"><br></td> <td style="border: 0.1px solid black; width: 25%;"><br></td> <td style="border: 0.1px solid black; width: 25%;"><br></td> </tr> <tr style="height: 22.1311%;"> <td style="border: 0.1px solid black; width: 31.7708%;"><br></td> <td style="border: 0.1px solid black; width: 18.2292%;" class="">ergreg</td> <td style="border: 0.1px solid black; width: 25%;"><br></td> <td style="border: 0.1px solid black; width: 25%;"><br></td> </tr> <tr style="height: 22.1311%;"> <td style="border: 0.1px solid black; width: 31.7708%;"><br></td> <td style="border: 0.1px solid black; width: 18.2292%;"><br></td> <td style="border: 0.1px solid black; width: 25%;" class="">ergerg</td> <td style="border: 0.1px solid black; width: 25%;"><br></td> </tr> </tbody> </table> <p><br></p> ` const result = sanitizeHtml(testString)
js-xss
const testString = ` <img src=x onerror=alert(1)//> <svg><g/onload=alert(2)//<p> <p>abc<iframe//src=jAva	script:alert(3)>def</p> <math><mi//xlink:href="data:x,<script>alert(4)</script>"> <p>paragrahp opijegopjieg</p> <pre>code fwefwefwefwfewef</pre> <blockquote><br>quote fsdfsfsdafsdf</blockquote> <h1>h1 wfwefwefwe</h1> <h2>h2 wefwefegrgerergerg</h2> <h3>h3 erfergergerrrrrrrrrrrrrrrrrrrrrrrrreg </h3> <h4>h4 fdsaggasgsagsd</h4> <div>wefwe<span style="color: rgb(255, 0, 0); text-decoration: inherit;">fwefreee</span>ee<span style="background-color: rgb(255, 255, 0);">eeeeeeee</span>eeeegREGERGergerergergergerg</div> <div style="text-align: right;">right</div> <div style="text-align: center;">center</div> <div style="text-align: justify;">fweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef wefffffffffffffffffff weffffffffffffffffffffff justify</div> <ol> <li style="text-align: justify;"> <div style="text-align: justify;">wefwef</div> </li> <li style="text-align: justify;"> <div style="text-align: justify;">wefewf</div> </li> <li style="text-align: justify;"> <div style="text-align: justify;">wef</div> <ol> <li style="text-align: justify;"> <div style="text-align: justify;">wfwefewf</div> </li> </ol> </li> </ol> <ul> <li>wefwef</li> <li>ewfewf</li> <li>ewfewf</li> <li>wefwef</li> </ul> <p style="margin-left: 40px;">indent</p> <p style=""><span style="font-family: Impact, Charcoal, sans-serif;">rgfregergreg</span></p> <p style=""><span style="font-family: Georgia, serif;">ergreg</span></p> <p style=""><span style="font-family: Tahoma, Geneva, sans-serif;">ergerggre</span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;">ergerg</span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;"><span style="text-decoration: underline;">u</span></span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;"><span style="text-decoration: line-through;">ssssssssss</span></span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;"><em>itryjtyj</em></span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;"><strong>bbbbbbbbb</strong></span></p> <p style=""><span style="font-family: "Times New Roman", Times, serif;"><strong><em><span style="text-decoration: underline;"><span style="text-decoration: line-through;">sdfgfdgssdfgsdfg</span></span></em></strong></span></p> <table class="e-rte-table" style="width: 100%; min-width: 0px; border: 0.1px solid black; height: 120px;"> <tbody> <tr style="height: 54.918%;"> <td style="border: 0.1px solid black; width: 31.7708%;" class="">esgerg</td> <td style="border: 0.1px solid black; width: 18.2292%;"><br></td> <td style="border: 0.1px solid black; width: 25%;"><br></td> <td style="border: 0.1px solid black; width: 25%;"><br></td> </tr> <tr style="height: 22.1311%;"> <td style="border: 0.1px solid black; width: 31.7708%;"><br></td> <td style="border: 0.1px solid black; width: 18.2292%;" class="">ergreg</td> <td style="border: 0.1px solid black; width: 25%;"><br></td> <td style="border: 0.1px solid black; width: 25%;"><br></td> </tr> <tr style="height: 22.1311%;"> <td style="border: 0.1px solid black; width: 31.7708%;"><br></td> <td style="border: 0.1px solid black; width: 18.2292%;"><br></td> <td style="border: 0.1px solid black; width: 25%;" class="">ergerg</td> <td style="border: 0.1px solid black; width: 25%;"><br></td> </tr> </tbody> </table> <p><br></p> ` const result = filterXSS(testString)
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (3)
Previous results
Fork
Test case name
Result
DOMPurify
Sanitize HTML
js-xss
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Comments
Confirm delete:
Do you really want to delete benchmark?