SvgX - SVG 优化与转换:SVGO、Data URI、React、Vue、PNG、Favicon

从导出的 SVG,到能直接用的代码

SvgX 清理设计软件和图标库导出的 SVG,让你看到它在亮色和暗色背景下的效果,并转换成项目需要的形式:内联 SVG、CSS Data URI、Vue 或 React 组件,或任意分辨率的 PNG。所有处理都在浏览器本地完成。

使用方式

  1. 01

    添加 SVG

    粘贴代码、打开文件,或把 .svg 拖到页面任意位置。代码可以直接修改。

  2. 02

    优化并检查

    SVGO 会移除编辑器元数据、注释和多余的小数位。在透明、白色、黑色背景下对比优化前后的效果。

  3. 03

    复制或导出

    复制需要的格式,下载优化后的 .svg,按 1×–4× 倍或指定宽度导出 PNG、WebP,或下载整套 favicon。

输出格式

SVG
优化后的代码,可压缩成一行或保留缩进,直接内联或保存为文件。
CSS Data URI
一条 background-image 声明。使用 URL 编码而不是 base64,对 SVG 来说更短。
Vue
以 SVG 为模板的单文件组件。
React(JSX)
函数组件,属性已转换为 JSX 写法(strokeWidth、className),props 会传给 svg 元素。
PNG 和 WebP
按 1×–4× 倍或自定义宽度渲染,背景可选透明或白色。WebP 为无损格式。
Favicon 包
一个 zip:多尺寸 favicon.ico、icon.svg、带背景色的 Apple 触摸图标、192 / 512 PNG、manifest,以及可直接粘贴的 link 标签。

快捷键

  • 打开 SVG 文件O
  • 粘贴 SVG 代码(编辑区之外)CtrlV
  • 复制代码C
  • 切换预览背景B

常见问题

SVGO 是什么?

SVGO(SVG Optimizer)是使用最广泛的开源 SVG 优化工具,很多构建工具和图标库内部也在用它。它会删除编辑器元数据、注释、空分组和多余的小数位,并用更短的写法改写路径,同时不改变 SVG 的显示效果。

Favicon 包里有哪些文件?

favicon.ico(16、32、48 像素,供旧浏览器和直接请求 /favicon.ico 的程序使用)、icon.svg(现代浏览器的标签页图标)、apple-touch-icon.png(180 像素,iOS 添加到主屏幕)、icon-192.png 和 icon-512.png(Android 和 PWA,由 manifest.webmanifest 引用),以及写好 link 标签的 head.html。这是目前主流浏览器需要的最小集合。

为什么主屏幕图标要有背景色?

iOS 会把透明区域显示成黑色,所以 Apple 触摸图标会填上你选的背景色,并在四周留出边距。其他尺寸保持透明。

SVG 会被上传吗?

不会。解析、优化和导出图片都在浏览器中完成。

打开来源不明的 SVG 安全吗?

安全。SvgX 不会把 SVG 插入页面,而是作为图片显示,其中的脚本和事件处理代码不会执行。

要不要移除 width 和 height?

用 CSS 控制尺寸的图标和插画建议移除,viewBox 会保持比例。如果 SVG 用在 img 标签里且没有设置 CSS 尺寸,就保留它们。

什么时候该用 currentColor?

单色图标适合使用,这样它会跟随周围文字的颜色,包括悬停状态和暗色模式。多色插画用了会丢失颜色。

为什么图标在黑色背景上看不见?

使用 currentColor 的图标本身没有颜色。SvgX 会按每种背景合适的文字颜色来预览;实际使用时,请在 CSS 里设置 color。

更多工具