實用工具

SVG 最佳化工具

用 SVGO 縮小 SVG 檔案——移除編輯器中繼資料、捨入座標、合併路徑——下載前先預覽結果。

瀏覽器本機執行影像與色彩2.3萬
免費

輸入

0 B

結果

結果會顯示在這裡。

從 Illustrator、Figma、Sketch 或 Inkscape 匯出的 SVG,帶有大量瀏覽器根本用不到的東西:編輯器中繼資料、空的群組、預設屬性值,以及精確到小數點後六位的座標。SVGO 是大多數 SVG 建置工具背後的最佳化工具,會用它的 preset-default 外掛組合把這些移除。貼上標記,就能得到最佳化後的檔案、一張確認可見內容沒有改變的預覽,以及節省的大小。SVGO 4 預設不再移除 viewBox 或 <title>,因為兩者分別關係到縮放與無障礙,這裡的選項讓你自行決定。

它是怎麼運作的

  • 小數位數設定路徑與變形中每個數字的精度;在圖示尺寸下 3 位看不出差異,1 或 0 位則可能讓細小的細節變形。
  • 多輪最佳化會反覆執行外掛,直到檔案不再縮小,能抓到那些在前一輪之後才能合併的路徑。
  • 移除 width 與 height 時會保留 viewBox,讓 SVG 隨容器縮放——這正是以 CSS 設定尺寸的圖示所需要的。
  • 預覽是透過 <img> 標籤從 data URL 繪製,所以 SVG 中的任何指令碼都不可能在這個網頁上執行。

你的資料去了哪裡

哪也沒去。本工具完全在你的瀏覽器裡執行:你貼上的文字由頁面處理,不會傳輸到任何伺服器,也不會寫進任何紀錄。

本工具免費且免登入,執行結果只存在於你目前的頁面裡,不會被儲存到任何地方。

它要花多少

本工具完全免費,不需要登入,也不消耗點數。

常見問題

為什麼應該保留 viewBox?
viewBox 定義了讓 SVG 能夠縮放的座標系統。沒有它,在 CSS 中給 SVG 新尺寸時,圖形會被裁切而不是縮放。舊版 SVGO 在 width 和 height 相符時就會移除它;第 4 版不再這麼做,保留它才是正確的預設值。
最佳化會改變我的 SVG 外觀嗎?
preset-default 的設計目標是視覺無損,預覽可以讓你確認。如果真的有偏移,通常是對細節多的小圖示設定了過低的小數位數,請調高到 3 位以上。ID 也會被縮短,只有在檔案外部的 CSS 或 JavaScript 參照它們時才會有影響。
<title> 元素會保留嗎?
會。SVGO 4 將 removeTitle 移出了預設組合,因為螢幕閱讀器會念出行內 SVG 的 title。如果這張圖純粹是裝飾用,你可以自行刪除 title,並在使用它的地方將元素標記為 aria-hidden。
內嵌圖片或字型的 SVG 呢?
內嵌的 base64 點陣圖與字型會原樣保留;SVGO 只最佳化它們周圍的向量標記。一個主要內容是內嵌 PNG 的檔案幾乎縮不了多少——請另外壓縮或轉換那張點陣圖,或改為匯出真正的點陣影像。

背後的開源專案

本工具執行在 svg/svgo 之上,以 MIT 授權發布。如果你需要在自己的程式裡實作同樣的能力,直接用這個函式庫。

svg/svgo

也常被稱作

  • svg 最佳化
  • svg 線上壓縮
  • svgo 線上
  • svg 壓縮
  • svg minifier
  • svg 檔案縮小