Skip to main content

SVG Optimizer — minify SVG locally, 10 toggleable passes, no upload

SVG optimizer — strip comments/metadata/empty attributes, round path decimals, collapse useless groups, minify in browser. No upload.

  • Runs locally
  • Category Image
  • Best for Getting images to the right size, format, or weight before publishing.

Single .svg, up to 2 MB. Nothing leaves your tab.

Optimization passes

Privacy. Everything runs in your browser via DOMParser — no upload, no analytics, no quota. Open DevTools Network: request count stays at zero.

What this tool does

A 100% in-browser SVG optimizer that re-parses your file with the browser's native DOMParser, walks the DOM tree, and applies ten orthogonal cleanup passes — each toggleable so you can see exactly which one shaved which bytes. No svgo, no Node, no upload: the SVG goes from your clipboard or .svg file into the textarea, gets parsed, mutated, re-serialized, and that's it. Out the other side you get stats (before / after / percent saved), a side-by-side rendered preview so you can confirm nothing visual changed, plus three exit buttons: copy the optimized markup, download as .svg, or grab a base64 dataURL for embedding straight into a CSS background or a Markdown image. Typical Figma / Illustrator / Inkscape exports shrink 30–60% on the default settings; pure code-drawn icons often drop 70%+ once decimal precision and unused ids are trimmed. About 25 KB of JavaScript total, works offline once the page is cached.

Tool details

Input
Files + Text + Numbers
The page exposes text boxes, numeric controls, file pickers, or structured inputs depending on the tool.
Output
Live result + Copy + Download
The result area focuses on usable output, with copy, download, or preview actions when supported.
Privacy
Browser-side processing
The main tool logic does not call an external API, so inputs normally stay in the current tab.
Save / share
No account required
Open the page and use it; whether results survive refresh depends on the tool.
Performance budget
Initial JS <= 25 KB
No WASM budget is declared, keeping the tool quick to open on mobile.
Best fit
Image · Designer
Category and role tags drive related tools, internal links, and quick fit checks.

How to use

  1. 1. Input

    Paste or drop your content into the tool panel.

  2. 2. Process

    Click the button. All processing is local in your browser.

  3. 3. Copy / Download

    Copy the result or download to disk in one click.

How SVG Optimizer fits into your work

Use it while preparing images for websites, stores, social posts, forms, or handoff packages.

Image jobs

  • Getting images to the right size, format, or weight before publishing.
  • Checking privacy-sensitive EXIF and metadata before sharing a photo.
  • Creating publish-ready variants without uploading private assets.

Image checks

  • Resize to the real display size before compressing.
  • Review transparency, animation, and color profile changes after conversion.
  • Strip or review metadata when the image contains private context.

Good next steps

These links move the current task into a more complete workflow.

  1. 1 Color Converter HEX ⇄ RGB ⇄ HSL ⇄ HSV ⇄ CMYK — instant 5-way conversion, live swatch — browser-only Open
  2. 2 SVG to JSX Paste SVG, get a React component — attributes camelCase, style becomes an object, wrap with {...props} passthrough. Browser-only. Open
  3. 3 SVG to PNG Converter Rasterize SVG to PNG in your browser — custom size, 1×/2×/3× HiDPI scale, true transparent background, never uploaded. Open

Real-world use cases

  • Shrink a Figma icon export before committing it

    Figma's "Copy as SVG" leaves you with a 1.8 KB triangle because every coordinate is at 6-digit precision and every path has an inline `style="fill:#FFFFFF;fill-opacity:1"`. Paste it in, default settings, the result panel reads `1.8 KB → 410 B, saved 77%`. Hit "Copy result", paste back into your icon component file, commit. Page weight goes down, no visual change.

  • Optimize an Inkscape export for an open-source README

    Inkscape ships a 14 KB SVG full of `inkscape:label`, `sodipodi:nodetypes`, an `<rdf:RDF>` metadata block, a layer group containing one shape, and seven `id="path"` attributes nobody references. Drop it in: 14 KB → 2.6 KB. The triangle on GitHub's README renders identically; the diff in your PR is suddenly readable instead of being a 200-line attribute dump.

  • Inline an SVG icon directly into CSS via dataURL

    You want a custom checkmark in a CSS `::before` pseudo-element. Paste the SVG, hit optimize, then "Copy as base64 dataURL". Out comes `background-image: url("data:image/svg+xml;base64,…")` short enough that the whole rule fits on two screen-wide lines. One fewer HTTP request, one fewer file to ship, no FOUC while the icon loads.

  • Clean up a multi-icon symbol sprite before shipping

    Your design system has 80 icons concatenated into one symbol sprite. Turn off "Drop unused ids" (you reference them via `<use href="#icon-foo">`) and turn on everything else. The sprite drops from 92 KB to 41 KB; sodipodi layer attrs and repeated `style=""` blocks are all gone, but every symbol id stays intact and the `<use>` lookups still resolve.

  • Prepare an SVG hero illustration for a marketing landing

    A 60 KB hero illustration from an illustrator's Illustrator export. Default settings get you to 38 KB. Drop precision from 3 to 2 — illustrations don't need sub-pixel coordinate accuracy — and the result becomes 31 KB. Side-by-side preview confirms the curves still look identical. Page LCP drops by ~80 ms on 4G. Lighthouse score nudges up two points.

Common pitfalls

  • Forgetting that `<use href="#icon-foo">` needs its id. If your SVG is a symbol sprite, untick "Drop unused ids" — the reference scan only catches what's inside the same file, so external references break silently.

  • Setting decimal precision to 0 on an organic curve. Pixel-grid logos love precision 0, but a hand-drawn illustration will start to look polygonal — confirm with the side-by-side preview before you ship.

  • Re-optimizing the same SVG twice. The default settings are already idempotent, but if you toggle passes mid-flow you can lose data you wanted (e.g. the second run with "Strip metadata" on will drop the `<title>` your screen reader needed).

Privacy

Every SVG is parsed by the browser's built-in DOMParser, mutated in memory and re-serialized — all inside your tab. Network request count stays at zero while you optimize; verify in DevTools. No account, no quota, no analytics on the bytes. Once the page is cached the tool works offline.

FAQ

Tool combos

Folks in your role tend to reach for these alongside this tool.

Made by Toolora · 100% client-side · Updated 2026-06-13