Paste or drop SVGs to see what’s wrong with them: invalid XML, a missing xmlns or viewBox, editor junk, broken IDs, scripts. Switch each fix on or off and compare before and after.
Runs in this tab. Nothing is uploaded.
No SVG yet
Preview
Before
After
Issues
Paste an SVG, open a file, or try the broken sample to see the checks in action.
More SVG tools
Everything runs locally, so your artwork stays on your device.
Two free services that come in handy when you work with SVGs.
CleanTempMail
Test email artwork without spamming yourself
Many email clients won’t show SVG, so newsletters and signatures need PNG fallbacks. Send test emails to a free disposable inbox: it’s ready instantly with no sign-up, refreshes on its own and deletes messages after 3 days.
Downloading SVGs from an unfamiliar site? Open it in a disposable cloud browser instead: Brave, Chrome, Edge, Firefox or Chromium on an isolated Linux desktop that is deleted after each session. Free daily time, nothing to install.
Invalid XML. Unescaped & and <, unquoted or duplicate attributes, HTML entities such as , unclosed or mismatched tags, text before the root. You see the first error with its line and column, the way a browser reports it, and every safe repair that was made.
Namespaces. A missing xmlns (the SVG shows nothing as a file or <img>), xlink:href without xmlns:xlink, and other undeclared prefixes.
viewBox and size. A missing or malformed viewBox is rebuilt from width and height (mm, pt and in are converted) or from the drawing’s bounding box. Optionally remove the fixed size so the SVG scales with CSS.
Editor junk. Inkscape and Sodipodi attributes, Illustrator’s private data, Sketch and Figma descriptions, draw.io diagram source, metadata blocks and generator comments.
IDs and references. Duplicate or empty IDs, references to IDs that don’t exist, and unused gradients, clip paths and symbols in <defs>.
Scripts.<script> elements, on… event handlers and javascript: links.
The original formatting is kept wherever nothing needed to change, so the fixed file is easy to compare with yours.
Questions
Is my SVG uploaded anywhere?
No. SVGMend reads your files with the browser’s file API and repairs them with JavaScript running in this tab. Nothing is sent to a server, and the tools keep working offline once the page has loaded.
Why does my SVG show up blank or broken?
The usual causes are invalid XML (an unescaped & or an unclosed tag), a missing xmlns attribute, xlink:href without the XLink namespace declaration, or a missing or wrong viewBox. Browsers refuse to draw an SVG file with any XML error, while the same code pasted into HTML may still work, which is why the problem often shows up only in an <img> tag or a CSS background.
Is it safe to open someone else’s SVG here?
Yes. The previews show your SVG as an image, so scripts in it never run and it can’t load anything from the internet, and SVGMend never inserts the SVG into the page itself. To clean an untrusted file before using it on a website, run it through the SVG Sanitizer.
Will repairing change how my SVG looks?
The fixes are designed to keep the drawing the same. Broken references are replaced with what the browser was already showing, and duplicate IDs are renamed only on later copies, which nothing can point to. Compare the before and after previews, and switch off any fix you don’t want.
What is the difference between repairing and optimizing?
Repair fixes problems and removes editor clutter but keeps your formatting and numbers as they are. The SVG Optimizer goes further with SVGO: it rounds numbers, rewrites path data and merges shapes to make the file as small as possible.
Can I fix many SVG files at once?
Yes. Open or drop several files and each one gets its own tab with its own list of issues and fixes. Download all repaired files together as a ZIP.