SVG 最佳化工具

最佳化並壓縮 SVG 檔案以減少大小。
安全
處理在你的裝置上完成,因此輸入/輸出不會被送到任何地方。

說明

分析 SVG 結構,在不影響渲染的範圍內清理無用標記。透過展開樣式、最佳化尺寸宣告、精簡屬性以及簡化數值和路徑資料,在維持視覺品質的同時有效減少檔案大小。

最佳化內容

樣式在可行範圍內,將 <style> 中的 CSS 展開到各元素的 style 屬性中。展開後還可能轉換為 fillstroke 等呈現屬性,並刪除已經為空且不再需要的 <style> 元素。
尺寸刪除根 <svg> 元素中 style 內的 width / height 宣告以及 width / height 屬性,同時保留響應式顯示所需的 viewBox
屬性刪除 Figma、Adobe XD、Illustrator 等設計工具加入的無用屬性,例如 data-name。如果 idclass 未被引用,或因元素合併、轉換(如從 <line> 轉為 <path>)而不再需要,也可能被刪除。
參照檢查 filterclip-pathmask 等參照屬性;若參照目標不存在則刪除,有效且會影響顯示效果的參照會被保留。
數值與路徑透過比較不同捨入精度(floatPrecision)下的渲染結果,自動選擇視覺差異最小且體積最小的設定。同時簡化 <path>d 屬性等路徑資料,刪除無用空格與冗餘內容,並使用 multipass 重複最佳化,以盡可能減少檔案大小。
相容性為避免顯示異常,工具會保留 viewBox。SVG 包含 <text> 元素時,也會保留用於控制空白處理的 xml:space;若沒有 <text>,則可能刪除。對於含動畫的 SVG,為避免破壞動畫,會限制部分最佳化。難以內嵌的複雜 CSS 也可能被保留,以維持原始顯示效果。

說明

檔案縮減比例和最終輸出會因 SVG 的結構及寫法而異。對於複雜選擇器、媒體查詢等難以自動展開或內嵌的樣式,為確保正確渲染,最佳化工具可能會予以保留。

合併或轉換元素(例如將 <line> 轉為 <path>)時,如果原元素的 idclass 因結構變化而不再需要,可能會被刪除。

filterclip-pathmask 等參照屬性的目標不存在時(例如失效的 url(#...) 參照),會自動刪除這些屬性,以維持 SVG 資料一致。

含 CSS 動畫或 <animate> 標籤的 SVG 也可以最佳化,但由於動畫行為容易被破壞,部分最佳化會受到限制。如果 SVG 中包含指令碼(JS),最佳化後可能出現非預期行為。