SVG 最佳化工具
最佳化並壓縮 SVG 檔案以減少大小。
將檔案拖放到這裡 或點擊選擇
- 安全
- 處理在你的裝置上完成,因此輸入/輸出不會被送到任何地方。
說明
分析 SVG 結構,在不影響渲染的範圍內清理無用標記。透過展開樣式、最佳化尺寸宣告、精簡屬性以及簡化數值和路徑資料,在維持視覺品質的同時有效減少檔案大小。
最佳化內容
| 樣式 | 在可行範圍內,將 <style> 中的 CSS 展開到各元素的 style 屬性中。展開後還可能轉換為 fill、stroke 等呈現屬性,並刪除已經為空且不再需要的 <style> 元素。 |
|---|---|
| 尺寸 | 刪除根 <svg> 元素中 style 內的 width / height 宣告以及 width / height 屬性,同時保留響應式顯示所需的 viewBox。 |
| 屬性 | 刪除 Figma、Adobe XD、Illustrator 等設計工具加入的無用屬性,例如 data-name。如果 id 和 class 未被引用,或因元素合併、轉換(如從 <line> 轉為 <path>)而不再需要,也可能被刪除。 |
| 參照 | 檢查 filter、clip-path、mask 等參照屬性;若參照目標不存在則刪除,有效且會影響顯示效果的參照會被保留。 |
| 數值與路徑 | 透過比較不同捨入精度(floatPrecision)下的渲染結果,自動選擇視覺差異最小且體積最小的設定。同時簡化 <path> 的 d 屬性等路徑資料,刪除無用空格與冗餘內容,並使用 multipass 重複最佳化,以盡可能減少檔案大小。 |
| 相容性 | 為避免顯示異常,工具會保留 viewBox。SVG 包含 <text> 元素時,也會保留用於控制空白處理的 xml:space;若沒有 <text>,則可能刪除。對於含動畫的 SVG,為避免破壞動畫,會限制部分最佳化。難以內嵌的複雜 CSS 也可能被保留,以維持原始顯示效果。 |
說明
檔案縮減比例和最終輸出會因 SVG 的結構及寫法而異。對於複雜選擇器、媒體查詢等難以自動展開或內嵌的樣式,為確保正確渲染,最佳化工具可能會予以保留。
合併或轉換元素(例如將 <line> 轉為 <path>)時,如果原元素的 id 和 class 因結構變化而不再需要,可能會被刪除。
當 filter、clip-path、mask 等參照屬性的目標不存在時(例如失效的 url(#...) 參照),會自動刪除這些屬性,以維持 SVG 資料一致。
含 CSS 動畫或 <animate> 標籤的 SVG 也可以最佳化,但由於動畫行為容易被破壞,部分最佳化會受到限制。如果 SVG 中包含指令碼(JS),最佳化後可能出現非預期行為。