Is my SVG uploaded to your servers?
No. Optimization runs entirely in your browser using regex-based string transforms in JavaScript. The SVG is read with FileReader, transformed in memory, and the result is downloaded via a Blob URL — no fetch, no XHR, no upload of any kind. Open DevTools → Network and click Optimize: zero requests are made. Brand logos, product icons, and proprietary illustrations stay on your device.
How much can I shrink an SVG?
Typical reductions: 30–70% for SVGs exported from Illustrator, Sketch, Inkscape, or Figma without optimization; 5–15% for SVGs already hand-tuned by a developer. The biggest gains come from stripping editor metadata blocks (sodipodi:namedview, <metadata>, i:pgf), default attribute values (fill-opacity="1", stroke="none"), and excessive numeric precision (50.000000 → 50). Whitespace collapsing alone usually saves 5–20%.
What does numeric precision mean?
SVG path and shape coordinates are often exported with 6+ decimal places (50.000000) when 1 or 2 are visually identical (50 or 50.0). The precision slider rounds every decimal number in the SVG to N digits after the decimal point. For icons and logos, precision 1–2 is usually invisible; for highly detailed illustrations, use 3–4. The default is 2, which mirrors the SVGO setting most teams use.
What attributes are considered "default"?
SVG attributes that have an inherited or specified default value — for example fill-opacity="1", stroke="none", stroke-width="1", opacity="1", stroke-linecap="butt", stroke-linejoin="miter", stroke-miterlimit="4", stroke-dasharray="none". Removing these has zero visual effect because the renderer applies the same defaults whether or not the attribute is present. The optimizer also removes empty attributes (fill="").
Will optimization break my SVG?
For 99% of SVGs the answer is no — the transforms only remove redundant or default information. Edge cases that may break: (1) SVGs that rely on editor-specific namespaces (e.g. animated SVG using sodipodi metadata for timing), (2) SVGs with CSS that targets attributes literally written in the file (e.g. [stroke="none"] selectors). Always preview the output in the right panel before downloading.
Is this the same as SVGO?
SVGO is the gold-standard Node.js library with 50+ plugins and a real SVG parser. This tool implements the most common 8–10 transforms with regex — fast, browser-native, no dependencies. For maximum compression and tricky structural transforms (path merging, transform collapsing, gradient simplification), use SVGO via npx svgo input.svg locally. For a quick browser-based 30–60% reduction, this tool is enough.
Can I optimize an SVG embedded in HTML or React?
Yes — paste the entire <svg>...</svg> markup. The tool does not require the XML prolog or DOCTYPE. After optimization, copy the result and paste it back into your HTML file or React component. For React/JSX components, replace HTML attribute names like class with className and stroke-width with strokeWidth — those rewrites are not done by this tool.
How do I tell if my SVG was already optimized?
Look for these signs of an unoptimized SVG: (1) <?xml version="1.0"?> and <!DOCTYPE svg> headers — production SVGs do not need these; (2) sodipodi:, inkscape:, or i: namespaces; (3) coordinates with 4+ decimal places like 50.000000; (4) attributes like enable-background or xml:space; (5) more whitespace than markup. If your SVG has any of these, this tool will measurably shrink it.