SVG 优化器、转换器和生成器

免费 SVG 优化器和转换器:缩小和清理 SVG(批量)、将 SVG 转换为 PNG、JPG、React JSX 或数据 URI、编辑路径、裁剪 viewBox、重新着色、构建精灵,以及波浪、斑点、图案、网格渐变和噪声生成器。没有上传。

由 Shehzad Munir 构建和维护 ·

SVG 优化器、转换器和生成器
Loading SVG Forge Studio
  • 开发者工具
  • 自由的 · 无需注册
  • 在您的浏览器中运行
  • 10特点
Share

一个私有工作区中的 23 个 SVG 工具

一个免费的、私人的 SVG 工作区,包含 23 个工具。优化和缩小 SVG SVGO 风格(批量,进行前后检查),清理 Figma 和 Illustrator 导出,并将 SVG 转换为 PNG、JPG、WebP、React 组件或数据 URI。您还可以验证文件、编辑路径、裁剪视图框、重新着色、构建精灵以及生成波浪、斑点、图案、网格渐变、颗粒纹理和分隔线,所有这些都可以在浏览器中进行。

SVG Forge 将您通常分布在五个网站上的 SVG 作业整合到一个页面中:带有批量 ZIP 导出功能的 SVGO 风格优化器、压缩器、清理器和格式化器;从 SVG 到 PNG、JPG、WebP、React 组件和数据 URI 的转换器;验证器;视觉路径编辑器、viewBox 裁剪器、颜色替换器和精灵生成器;以及十个用于波浪、斑点、图案、网格渐变、颗粒纹理和部分分隔线的生成器。任何结果都可以通过单击传递给下一个工具。您可以生成一个 blob、重新着色、优化它并将其导出为 React 组件,而无需在选项卡之间复制和粘贴。

特征

  • 23 个 SVG 工具:优化、转换、编辑和生成
  • SVGO 式优化器:21 个切换、预设、批量 ZIP 和视觉差异
  • 任意尺寸的 SVG 到 PNG、JPG 和 WebP,包括 16–512 px 图标集
  • SVG 到 React / React Native 组件(TSX 或 JSX)
  • 数据 URI 编码器和解码器、CSS 背景和 CSS 掩码输出
  • 验证器:安全性、可访问性、大小和 gzip 报告
  • 具有锚点、abs↔rel 转换和适合图标的路径编辑器
  • ViewBox 裁剪到内容、颜色替换器(色调、灰度、当前颜色)和精灵生成器
  • 波浪、斑点、图案、网格渐变、噪声、分隔线、多边形、星形、螺旋和波形发生器
  • 本地优先:文件永远不会上传

如何使用SVG 优化器、转换器和生成器

  1. 1

    选择一个工具

    在侧边栏(或移动设备上的选择器)中选择“优化”、“转换”、“编辑”或“生成”。每个工具还有自己的链接,例如#svg-to-png。

  2. 2

    添加您的 SVG

    粘贴标记、上传或拖放一个或多个 .svg 文件,或者从剪贴板读取。生成器从您可以随机化的现成设计开始。

  3. 3

    调整并检查

    调整预设、滑块和开关。预览实时更新,优化器并排显示原始结果和结果以及字节和 gzip 节省。

  4. 4

    导出或移交

    复制为 SVG、React、数据 URI、Base64 或 CSS、下载 .svg、导出 PNG/JPG/WebP,或使用“打开方式...”将结果直接发送到另一个工具。

常见用例

  • 在交付生产之前优化和缩小图标和插图
  • 清理 Figma、Illustrator、Inkscape 或 Sketch 中臃肿的 SVG 导出
  • 批量压缩整个图标文件夹并将其下载为 ZIP
  • 将 SVG 徽标转换为 PNG 以用于电子邮件、社交媒体或网站图标集
  • 将 SVG 图标转换为类型化的 React 或 React Native 组件
  • CSS 中的内联小图标作为尽可能小的数据 URI
  • 通过使 viewBox 适合其内容来裁剪 SVG 周围的空白区域
  • 将 SVG 重新着色为品牌调色板或将其切换为 currentColor
  • 将图标捆绑到一个可重复使用的 <symbol> 精灵中
  • 为登陆页面创建波浪、斑点、网格渐变和颗粒背景

详细指南

我需要哪种 SVG 工具?

从作业开始,而不是工具名称。要使文件更小,请使用优化。要在需要位图、代码或 CSS 的地方使用 SVG,请使用 Convert。要修复现有 SVG 或重新设计其样式,请使用“编辑”。要从滑块创建新图稿,请使用“生成”。

团体工具最适合
优化和清理优化器、缩小器、清理器、格式化器、路径简化器在发货前缩小图标和插图
转换和检查SVG → PNG/JPG/WebP、SVG → React (JSX/TSX)、数据 URI 编码器/解码器、查看器和验证器将 SVG 转换为您的应用程序、电子邮件或 CSS 所需的格式
编辑路径编辑器、ViewBox 和裁剪、颜色替换器、精灵生成器修复路径、修剪空白、重新着色和捆绑图标
产生波浪、斑点、图案、网格渐变、噪声和颗粒、形状分隔线、多边形、星形、螺旋、波形曲线背景、英雄部分、分隔线和装饰形状

SVG 优化器的工作原理以及哪些设置是安全的

优化器在浏览器中将您的文件解析为真实的 XML 文档,并应用基于 SVGO 的 21 项优化。每一项都可以打开或关闭,三种预设(平衡、最大、仅限清洁)涵盖了常见情况。并排视觉检查显示原始渲染和优化渲染,因此您可以在下载之前确认没有任何更改。您可以一次放入数十个文件并将它们作为单个 ZIP 返回。 Illustrator、Inkscape 或 Figma 的典型导出会缩小 30-70%,并且会显示 gzip 大小,因为这就是您的服务器实际发送的内容。

优化它的作用视觉风险
删除编辑器数据和元数据删除 Inkscape、Sodipodi、Illustrator、Sketch 和 Figma 命名空间、<metadata> 和注释没有任何
舍入数字/压缩路径将坐标舍入到您选择的精度,并以绝对或相对形式中较短的一个重写路径数据没有 2-3 位小数;检查 0–1 处的小图标
删除未使用的定义和 ID删除没有任何引用的渐变、剪辑路径和 ID没有任何
折叠组/删除默认值解开空的 <g> 包装并删除诸如 fill-opacity="1" 之类的值没有任何
样式→属性,缩短颜色style="fill:#ffffff" 变为 fill="#fff"无(当 <style> 块存在时自动跳过)
响应式(水滴宽度/高度)仅保留 viewBox,以便 CSS 控制大小如果您依赖固定尺寸,布局可能会改变
删除<标题>/<描述>删除可访问的名称没有视觉效果,但它伤害了屏幕阅读器用户

清理从 Figma、Illustrator 或 Inkscape 导出的 SVG 代码

设计工具使用生成器注释、XML 声明、编辑器命名空间、图层 ID(如 Layer_1 和 SVGID_1_)、空组、启用背景样式和六位小数的数字来填充 SVG 导出。 SVG Cleaner 消除了这些麻烦,但保持标记缩进且可读,这在您手动编辑文件或为文件设置动画时非常有用。优化器进一步用于生产,验证器准确列出内部内容(元素计数、颜色、字体、嵌入位图、脚本和外部链接),以便您在使用文件之前了解文件为何沉重或不安全。

SVG 到 PNG、React 组件或数据 URI:使用哪种格式

SVG 是网络上图标和插图的最佳选择。但有些地方仍然需要位图或代码。转换器处理每种情况而无需上传。

出口当笔记
PNG/WebP电子邮件、社交帖子、应用商店、网站图标以及任何不接受 SVG 的地方最大 8192 像素的任何尺寸、透明背景、批量 ZIP 和一键式 16–512 像素图标集
JPG需要小而不透明图像的地方选择替换透明度的背景颜色
反应/反应本机React、Next.js 或 Expo 代码库内的图标驼峰命名法属性、样式对象、{...props}、可选的 currentColor 和可访问的标题属性
数据 URI(URL 编码)内嵌在 CSS 或 HTML 中的小图标,无需额外请求通常比 Base64 小 30% 左右。 CSS 遮罩输出可让您使用背景颜色重新着色
SVG 精灵许多图标在网站上重复使用<use href="#id"> 引用的 <symbol> 的一个文件

转换其他图像格式构建完整的 favicon 包将任何图像编码为 Base64

现代网络背景生成器

生成器生成干净的、可手动编辑的 SVG,而不是导出位图。分层波浪和变形斑点可以使用 SMIL 进行动画处理,它可以在 <img> 和 CSS 背景中工作,无需 JavaScript。图案生成器可导出 16 个无缝图案,作为背景重复的单个图块或作为完整画布。网格渐变和噪声生成器创建了现代登陆页面中流行的软渐变和胶片颗粒外观,形状分隔符附带了用于部分边缘的可立即粘贴的 HTML 和 CSS 片段。每个输出都可以复制为 SVG、React、数据 URI 或 CSS,或导出为 PNG。

生成 CSS 渐变、阴影和玻璃效果转换 HEX、RGB 和 HSL 颜色制作占位符图像

设计为私有:不上传任何内容

解析、优化、光栅化和压缩全部通过标准 Web API(DOMParser、Canvas 和 CompressionStream)在浏览器中进行。您的作品永远不会到达服务器,因此这些工具也适用于保密协议下的客户端工作。预览是通过独立的 <img> 呈现的,因此您粘贴的 SVG 中的任何脚本都无法运行,并且优化器可以在您将文件嵌入网站之前删除 <script> 标记和事件处理程序。

常见问题

包含哪些 SVG 工具?

二十三个,分为四个区域。优化:优化器、缩小器、清理器、格式化器和路径简化器。转换:SVG 到 PNG/JPG/WebP、SVG 到 React、数据 URI 以及查看器和验证器。编辑:路径编辑器、ViewBox 和裁剪、颜色替换器和 Sprite 生成器。生成:波浪、斑点、图案、网格渐变、噪声、形状分隔线、多边形、星形、螺旋形和波形图。

如何免费优化 SVG 文件?

打开优化器,粘贴 SVG 或放入一个或多个 .svg 文件,然后选择一种预设(仅限平衡、最大或干净)或切换 21 种优化中的任意一种。该工具显示原始尺寸、优化尺寸和压缩尺寸以及并排目视检查。然后复制结果、下载它或将每个文件下载为 ZIP。

如何制作 SVG 波浪或斑点?

使用“波浪”或“斑点”生成器,调整滑块(图层、幅度、复杂性、随机性)和颜色,矢量就会实时更新。点击“随机”探索变化,打开动画以获得变形效果,然后复制 SVG 或将其导出。

我可以获取 SVG 作为 CSS 背景或数据 URI 吗?

是的。每个结果都有原始 SVG、React、紧凑 URL 编码数据 URI、Base64 和可粘贴 CSS 规则的导出选项卡,以及 .svg 和 PNG/JPG/WebP 下载。数据 URI 工具还生成 CSS 掩码片段,并可以将数据 URI 解码回 SVG。

SVG 清理器会删除什么?

来自 Inkscape、Sodipodi、Illustrator、Sketch、Serif 和 Figma 的 XML 声明、DOCTYPE、注释、<metadata> 和编辑器命名空间和属性。它使标记保持缩进和可读,因此当您仍想手动编辑文件时,这是正确的选择。

我的 SVG 是否上传到服务器?

不会。一切,包括优化、PNG 渲染和 ZIP 创建,都在您的浏览器中本地运行。您的文件永远不会离开您的设备,因此它是私密且即时的。

如何缩小或优化 SVG 文件?

粘贴或上传您的 SVG,优化器会删除编辑器元数据、注释、未使用的定义和冗余代码、舍入数字并压缩路径数据(如 SVGO)。这通常会将文件缩小 30-70%,而不会改变其外观,并且一切都在您的浏览器中运行。

如何清理 Figma 或 Illustrator 中混乱的 SVG 代码?

设计工具增加了诸如生成器注释、层 ID、空组和六位十进制数字等膨胀。将导出粘贴到 Cleaner(保持可读)或 Optimizer(最小输出)中以获得轻量级、Web 就绪标记。

我可以将 SVG 转换为数据 URI 吗?

是的。在任何结果上使用“数据 URI”工具或“数据 URI”选项卡。它使用 URL 编码,通常比 Base64 小 30% 左右,并且还为您提供 Base64、CSS 背景规则和 <img> 标记。

如何将 SVG 转换为具有透明背景的 PNG?

打开 SVG 到 PNG / JPG,添加文件,选择 PNG 和比例(例如 4×)或精确的宽度或高度,并保持透明背景打开。您可以将许多 SVG 批量转换为 ZIP,选择 JPG 或 WebP,或者选择图标集以导出 16–512 px PNG 作为网站图标和应用程序图标。

如何将 SVG 转换为 React 组件?

将 SVG 粘贴到 SVG to React (JSX) 中,命名组件并选择 TypeScript 或 JavaScript、React 或 React Native。属性被转换为驼峰命名法,内联样式成为对象,{...props} 被传播到根上。您还可以将颜色切换为 currentColor 并添加可访问的标题属性。

优化会改变我的 SVG 的外观吗?

不适用于默认的平衡预设。其中的每个优化仅删除不可见的数据或等效地重写值。非常低的精度(0-1 位小数)可能会稍微移动小图标上的点,这就是优化器在下载之前并排显示原始结果和结果的原因。

如何删除 SVG 周围的空白区域?

打开 ViewBox & Crop,粘贴 SVG,然后单击“裁剪到内容”。该工具测量绘图的实际边界,使用您选择的填充设置紧密的视图框,并且可以更新或删除宽度和高度属性。

如何更改 SVG 的颜色?

颜色替换器检测每种填充、描边和渐变颜色(十六进制、rgb()、hsl() 和命名颜色)并列出每种颜色出现的频率。您可以一一重新映射它们,改变整个文件的色调、饱和度和亮度,转换为灰度或反转,或者用 currentColor 替换所有内容,以便图标遵循您的 CSS 文本颜色。

什么是 SVG 精灵以及如何使用它?

精灵是一个包含许多图标作为 <symbol> 元素的 SVG 文件。将图标添加到 Sprite Generator,然后使用 <svg><use href="#icon-id"/></svg> 引用每个图标。该工具可以为内部 ID 添加前缀以避免渐变冲突,并将颜色转换为 currentColor,并为您生成使用代码。

粘贴未知来源的 SVG 是否安全?

是的。预览在隔离的 <img> 内呈现,其中脚本无法运行。验证器会标记 <script> 标记、事件处理程序和外部链接,优化器会在您将文件嵌入到站点之前默认删除脚本和处理程序。

我可以为生成的波浪和斑点设置动画吗?

是的。 Wave 和 Blob 生成器有一个 Animate 切换开关,可以添加独立的 SMIL 变形。它可以在 <img>、CSS 背景和内联 SVG 内的浏览器中播放,无需 JavaScript 或 CSS。

来自杂志

All articles →