Product Design, Manufacturing & Innovation Resources
Home » Online Tools » SVG Sanitizer

SVG Sanitizer

SVG format can embed almost any code, even executable.
So unless you designed it yourself, to verity it before uploading somewhere is a must.
This free online tool focuses only on this, rather than the versatile SVG Optimizer that we also recommend and list in the 2D section.

Disciplines: Web development, Cybersecurity, Graphic design.
Free alternative to DOMPurify, Scour.
SVG Sanitizer compared with DOMPurify and Scour
SVG SanitizerDOMPurifyScour
Technical basis: The page is a playground for the PHP library svg-sanitize by the GitHub user darylldoyle (the library that powers the Safe SVG WordPress plugin). You paste an SVG and the library filters tags and attributes against a whitelist. The library states that its code is largely borrowed from DOMPurify.Technical basis: It is a DOM-only XSS sanitizer for HTML, MathML and SVG. It parses the input into a DOM and filters elements and attributes against allow lists. It is the reference design that the PHP library follows.Technical basis: It is not a security filter. It rewrites SVG to reduce size by removing metadata, comments and redundant data, so a malicious SVG can pass through it unless it is cleaned by another tool.
Inputs and outputs: You paste SVG markup or load a built-in sample, choose a library version (50 versions are listed) and options, then read a diff, the cleaned output, a preview and a list of issues. The version selector helps to check whether an older release let a given file through.Inputs and outputs: It takes an HTML or SVG string, or a DOM node, and returns a clean string or DOM. Output options include whole document, DOM fragment and Trusted Types. Configuration covers allowed tags, forbidden attributes, URI patterns and hooks.Inputs and outputs: It reads an SVG file and writes an optimized SVG, or a compressed .svgz when the output file has that extension. Options control ID shortening, comment removal and indentation.
Licence and openness: The playground links to the library repository and issue tracker. The library is released under GPL-2.0, which matters if you plan to embed it in a non-GPL product.Licence and openness: Dual-licensed under Apache-2.0 and MPL-2.0, so it can be embedded in most commercial code bases.Licence and openness: Open source under Apache License 2.0.
Platform and integration: Browser page for manual checks. For automation, the underlying library installs with Composer as enshrined/svg-sanitize and runs on the server in PHP. It also has a command line scanner script that returns errors as JSON.Platform and integration: JavaScript library for browsers, and for Node.js together with a DOM implementation such as jsdom. The maintainers do not recommend happy-dom as safe.Platform and integration: Python command line tool installed with pip. The latest release listed on PyPI is 0.38.2, dated November 2020.
Validity limits: The author describes the library as an attempt at a decent SVG sanitizer and states that more extensive testing is still needed. The playground invites users to report any SVG that gets through. Remote references are only removed if that option is switched on.Validity limits: Only the latest release receives security support. Results depend on the DOM implementation in use and on the configuration chosen by the integrator.Validity limits: Not designed to detect or block scripts, so it must not be the only protection when handling files from unknown sources.
When to choose it: Choose it to check an uploaded SVG by hand, or to test how the PHP library treats a suspicious file before relying on it in a PHP or WordPress project.When to choose it: Choose it when untrusted markup is handled in a JavaScript application, in the browser or on a Node.js server.When to choose it: Choose it to shrink trusted SVG files in a build step, after the content has been vetted with a sanitizer.

Topics covered: SVG, Sanitizer, executable code, security, verification, online tool, SVG Optimizer, 2D graphics, embedding, code validation, malware prevention, user safety, ISO/IEC 27001, ISO 9001, ISO/IEC 27002, ISO/IEC 27005, and W3C SVG..

Privacy: we have no feedback of potential problem with this tool and author. But like many online services, you are here providing them with your own data. Depending of the criticity of your data, this is your responsibility to assess author's reputation and potential misusage, and to check and accept their terms and conditions, or not.

More 2D Graphics, Network & Web tools

Suggest your best online tool:

Do you know a better, a complementary or a replacement website to the one listed above ?

> Suggest it here <

10th year anniversary

Full size images and downloads are only available, 100% free, for registered members.

> Login <