SVG 优化与清理(减小体积)
粘贴或上传 SVG,清理多余的元数据和小数位以减小文件体积,并显示清理前后的大小和预览。脚本和外部引用会被删除
正在加载工具…
从 Inkscape 或 Illustrator 导出的 SVG 带有编辑器数据、注释和多位小数的坐标,文件比图形本身需要的大得多。粘贴代码或放入文件即可去掉这些冗余,查看节省的字节数,并对比清理前后的图形。
使用方法
- 把代码粘贴到“SVG 代码”,或把 .svg 文件放到它下方的框里。
- 在“选项”中选择要删除的内容。默认设置不会改变图形;“删除 title 和 desc”和“删除未被引用的 id”默认关闭,需要时再打开。
- 调低“小数位数”可以缩短坐标;图标用 1 到 2 位就够了。
- 确认“清理前预览”和“清理后预览”一致后,按“复制”或“保存 SVG”。多个文件可用“全部保存为 ZIP”一起下载。
计算方式与说明
- 脚本、以 on 开头的事件属性、foreignObject,以及指向 http 地址或其他文件的引用总是会被删除,数量显示在结果上方。
- 编辑器数据指带有 inkscape:、sodipodi: 等前缀的属性和元素,以及未使用的命名空间声明。默认值删除只处理 fill-opacity="1" 这类去掉后画面不变的属性。
- 数字清理会把 path、viewBox、points、transform 和坐标值四舍五入到所选位数;不会转换坐标或合并图形。全部在浏览器中处理,文件不会发送到任何地方。
常见问题
- 为什么 SVG 比看起来的图形大那么多?
- 编辑器会保存缩放级别、图层名、元数据和 6 到 8 位小数的坐标。在简单图标中这些往往占文件一半以上,所以清理通常能节省 40% 到 70%。
- 清理后图形会变吗?
- 默认选项只删除不影响渲染的内容。四舍五入到 0 或 1 位小数时,非常小的图形中线条可能会偏移,请对比两个预览。
- 为什么默认保留 title 和 desc?
- 屏幕阅读器会读取它们来描述图像。纯装饰性的 SVG 可以打开“删除 title 和 desc”。
- 结果和 SVGO 一样吗?
- 不一样。它只做删除元数据和四舍五入等安全清理,不合并路径,但无需安装,而且可以用肉眼检查结果。