Minify SVG Online — Remove Whitespace & Metadata

Minify SVG instantly — select, reorder, concatenate and minify multiple .svg files as one bundle with your current options. Strip unnecessary whitespace and metadata elements while everything stays in your browser. For SVGO deep optimization, use our optimize SVG tool.

Loading…
SVG minification
Minify SVG online. Shrink markup by removing whitespace, comments and metadata elements.

Features

Remove unnecessary whitespace, comments, metadata elements and optional hidden style elements from SVG files while preserving visual quality.

Minify SVG

Remove unnecessary whitespace, comments, metadata elements and optional hidden style elements from SVG files while preserving visual quality.

Basic example

Input SVG

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"> <circle cx="50" cy="50" r="40" fill="blue"/> <rect x="20" y="20" width="60" height="60" fill="red"/> </svg>

Minified SVG

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="40" fill="blue"/><rect x="20" y="20" width="60" height="60" fill="red"/></svg>

What SVG minification does

SVG minification on this page is a light markup cleanup that keeps the graphic. Comments can go. Space between tags is collapsed. Extra spaces in text runs can be squeezed. The <metadata> element can be dropped. Empty attributes like id="" can be removed. Elements whose style is display:none or visibility:hidden can be stripped if you turn that option on. Accessibility tags <title> and <desc> stay. So do viewBox, element IDs, and the numbers inside path d. The output is still SVG source, not a zip. Gzip and Brotli are a later layer on the wire — this tool does not gzip your file. This page is not an SVG optimizer. It does not rewrite path data, round coordinates, change IDs, convert styles to attributes, or prune unused <defs>. Those structural edits are SVGO's job. Use this pass when you want fast whitespace-and-comment cleanup, for example before pasting an icon inline. For path rewrite and editor-namespace cleanup, continue on the complementary optimize SVG tool.

How FastMinify minifies SVG

FastMinify minifies SVG with an in-tab regex pipeline. SVGO is not loaded on this page, so the tab stays light. Two cleanups always run: whitespace between tags becomes ><, and spaces around = are removed. The Collapse whitespace switch is separate — when on (the default), remaining runs of spaces collapse to one. Turning it off does not put newlines back between tags. Remove comments (default on) drops <!-- ... -->. Remove metadata (default on) deletes <metadata>...</metadata> only — not editor namespaces. <title> and <desc> are kept. Remove empty attributes (default off) drops attr="". Remove hidden elements (default off) matches only style values display:none or visibility:hidden, not display="none" as an attribute, hidden, or opacity="0". Path d, IDs, and viewBox are left as pasted.

Minification options

Remove Comments
Removes all SVG comments (<!-- ... -->) from code

Comparison with/without option:

Original code
<svg> <!-- This is a comment --> <circle cx="50" cy="50" r="40"/> </svg>
With removeComments: true
<svg><circle cx="50" cy="50" r="40"/></svg>
With removeComments: false
<svg><!-- This is a comment --><circle cx="50" cy="50" r="40"/></svg>
Collapse Whitespace
Collapses multiple whitespace characters into single spaces

Comparison with/without option:

Original code
<svg> <text> Multiple spaces </text> <g> Group </g> </svg>
With collapseWhitespace: true
<svg><text> Multiple spaces </text><g> Group </g></svg>
With collapseWhitespace: false
<svg><text> Multiple spaces </text><g> Group </g></svg>
Remove Metadata
Removes metadata elements from SVG code

Comparison with/without option:

Original code
<svg> <metadata>Some metadata</metadata> <circle cx="50" cy="50" r="40"/> </svg>
With removeMetadata: true
<svg><circle cx="50" cy="50" r="40"/></svg>
With removeMetadata: false
<svg><metadata>Some metadata</metadata><circle cx="50" cy="50" r="40"/></svg>
Remove Empty Attributes
Removes attributes with empty values

Comparison with/without option:

Original code
<svg> <circle cx="50" cy="50" r="40" id="" class=""/> </svg>
With removeEmptyAttributes: true
<svg><circle cx="50" cy="50" r="40"/></svg>
With removeEmptyAttributes: false
<svg><circle cx="50" cy="50" r="40" id="" class=""/></svg>
Remove Hidden Elements
Removes elements with display:none or visibility:hidden styles

Comparison with/without option:

Original code
<svg> <circle cx="50" cy="50" r="40" style="display:none"/> <rect x="10" y="10" width="20" height="20" style="visibility:hidden"/> </svg>
With removeHiddenElements: true
<svg></svg>
With removeHiddenElements: false
<svg><circle cx="50" cy="50" r="40" style="display:none"/><rect x="10" y="10" width="20" height="20" style="visibility:hidden"/></svg>

See Beautify indentation options →

Developer notes

• This page removes whitespace, comments and <metadata> elements without loading SVGO (~780 KB). • Toggle options before you minify — all processing stays in-tab. • For path rewrite and SVGO presets, switch to optimize SVG after this pass. • Pair with validate SVG for viewBox or title/desc checks.

When teams pick this route

• Strip whitespace from icons pasted into HTML or React components before commit. • First cleanup pass on Figma/Illustrator exports before deeper SVGO optimization. • Compress sprite candidates when you only need comment and space removal. • Use beautify SVG or unminify SVG to inspect markup, then return here for production minify.

SVG cluster tools

This page is the light minify step. For SVGO presets and the rest of the SVG cluster, open the SVG tools hub or the complementary optimize SVG tool.

Concatenating SVG Files

On Minify SVG, select or drop multiple .svg files, reorder them, then concatenate and minify the complete bundle once with your current options. Processing stays in your browser. Files are joined with newline boundaries only — no HTML comment markers inside SVG markup. This workflow batches separate icon files for minification; it does not build sprite sheets. For single-file SVGO optimization, use optimize SVG.

Frequently Asked Questions — Minify

Everything about minification

Why minify SVG?

SVG minification removes whitespace, comments and <metadata> elements to reduce file size. It does not gzip the file or rewrite paths.

Need to unminify SVG?

Use our SVG unminifier to inspect compressed markup.

Need to beautify SVG?

Use our SVG beautifier for readable SVG formatting.

Need deeper SVGO optimization?

Use optimize SVG for SVGO safe, default and aggressive presets.

How do I concatenate and minify multiple SVG files?

On Minify SVG, use the concat button or drop two or more .svg files on the input panel, reorder them, then concatenate and minify the complete bundle once with your current options. Everything runs in your browser. This workflow is not available on Beautify SVG or Unminify SVG. Files are joined with newline boundaries only — this batches separate icons for minification, not sprite sheet generation. For single-file SVGO optimization, use optimize SVG.

Verify it yourself

FastMinify processes your input in the browser. Inspect the network panel or read our validation gate to confirm nothing leaves your device.

Minify

Shrink code and assets for production — minify JavaScript, CSS, HTML, JSON and XML before gzip or CDN deploy.

Explore other tool categories

Beautify

Make code readable with consistent indentation — beautify JavaScript, CSS, TypeScript, SCSS, LESS, Markdown, GraphQL, SQL, YAML and more in your browser.

Unminify

Expand minified or compressed code — unminify JavaScript, CSS, TypeScript, SCSS, LESS, SQL, YAML and other formats when debugging or reviewing.

Conversion

Transform data between JSON, YAML, XML and CSV locally — no server uploads.

CSS preprocessors

Compile SCSS or LESS to standard CSS in the browser — pair with beautify or minify for a full stylesheet workflow.

JSON Tools

Validate, format, diff and explore JSON payloads — complementary to minifiers and converters.

SVG Tools

Preview, optimize with SVGO, export Data URI, resize, beautify, convert to JSX and validate SVG — all in your browser.

DevOps & Infra

Terraform HCL format/validate/minify, Dockerfile format & lint, Docker Compose and .env validation.

CI/CD

GitHub Actions and GitLab CI — format YAML and check workflow/job structure in your browser.

Logs & observability

Line-oriented JSON/NDJSON and Nginx/Apache access logs — format, filter, validate, and CSV/TSV.

Kubernetes

Multi-doc manifests, structural validate, Ingress/Deployment starters, and Helm values formatting.

Networking / IP

CIDR, subnets, and IPv4/IPv6 helpers — in your browser.

Security & tokens

JWKS, X.509 certificates, and secrets scan — browser-local.

API & schemas

OpenAPI tools to format, validate, and lint your specs.

HTTP Tools

Paste-local cURL, HTTP messages, and URLs — format and inspect in your browser, never sent.

Encoding

Encode or decode Base64, URL components and HTML entities — client-side only.

Developer utilities

Timestamps, UUID, ULID, Nanoid, cron, passwords, regex, slugify, number bases, case, text diff, and chmod — all client-side.

Text & Markdown

Count words, build Markdown TOCs, and clean line lists — all in your browser.

AI & LLM

Token counting, pricing estimates, and context-window fit — 100% browser-local.

Test Data

Synthetic field values for fixtures and DB seed — reserved-range phone numbers first.

Serialization

Serialize and deserialize PHP data structures beside JSON workflows.