SVG 最佳化器

清理 SVG 程式碼並壓縮檔案體積,同時不改變圖形外觀。

貼上 SVG 程式碼後即可進行最佳化。

你的 SVG 程式碼會在瀏覽器本機進行最佳化,不會上傳至 BroBroGo。

常見問題

它會清理甚麼內容?

它會移除註解、元數據(metadata)、編輯器命名空間、多餘的屬性空格、未使用的命名空間,並將顏色重寫為較短的等效形式。viewBox、ID、標籤和幾何數據則會保持原樣。

所有 SVG 都能最佳化嗎?

它能處理一般的內嵌 SVG 程式碼。含有文件類型或自訂實體宣告的 SVG 會被阻擋,因為這類宣告可能會導致解析不安全。請移除這些宣告後再試。

這會改變圖形的外觀嗎?

最佳化工具會避免改寫路徑、重新命名 ID、移除 viewBox 及進行小數精度捨入。如果你的設計流程依賴註解或元數據(metadata),請保留一份原始 SVG 備份。

SVG 檔案結構與網頁效能

可縮放向量圖形(SVG)是一種基於 XML 格式的圖像檔案,廣泛應用於現代網頁設計與開發。與點陣圖不同,SVG 透過程式碼定義點、線、曲線及顏色,因此在任何螢幕解析度下都能保持清晰。然而,由繪圖軟體導出的 SVG 檔案通常包含大量與視覺呈現無關的冗餘數據,例如編輯器元數據、歷史記錄、註解及多餘的空格。

在網頁效能最佳化的過程中,縮減資產體積是提升載入速度與改善使用者體驗的關鍵。當網頁包含大量內嵌 SVG(Inline SVG)或圖示時,未經壓縮的程式碼會直接增加 HTML 文件的總體積,導致瀏覽器解析與渲染的時間延長。透過移除這些不必要的 XML 元素,可以在不改變圖形外觀的前提下,顯著減少檔案大小。

安全清理與無損最佳化機制

本工具採用「無損」最佳化機制,專注於安全清理 SVG 程式碼。在最佳化過程中,系統會執行以下調整以縮減體積:

  • 移除 XML 註解與元數據(metadata)
  • 清除繪圖軟體產生的編輯器命名空間及未使用的命名空間
  • 壓縮屬性之間多餘的空格
  • 將顏色代碼重寫為較短的等效形式(例如將 #ffffff 轉換為 #fff

為了確保圖形在網頁上的排版與互動功能不受影響,最佳化器會嚴格保留以下核心元素:

  • 完整保留 viewBox 屬性,確保圖形縮放比例正確
  • 保持所有 id 屬性與標籤(labels)不變,避免破壞 CSS 樣式綁定或 JavaScript 互動
  • 幾何數據(geometry)維持原樣,不進行路徑改寫(path rewrites)或小數精度捨入(precision rounding),防止圖形輪廓變形

瀏覽器本機處理與隱私保護

你的 SVG 程式碼會在瀏覽器本機進行最佳化,不會上傳至 BroBroGo。所有解析與壓縮運算均在用戶端裝置上即時執行,確保處理過程的私密性。

需要注意的是,本工具設有安全防護機制。為了防止 XML 外部實體注入等安全漏洞,系統會阻擋含有文件類型(Document Type)或自訂實體(Custom Entity)宣告的 SVG 檔案。

最佳化工具運作規則與限制

工具在處理輸入的 SVG 程式碼時,會遵循特定的限制與錯誤處理流程:

狀況 / 輸入限制 系統行為與顯示訊息
輸入欄位為空 顯示「請先貼上 SVG 程式碼。」
輸入內容不含任何 SVG 元素 顯示「找不到 <svg> 元素。」
含有文件類型或自訂實體宣告 顯示「此 SVG 使用了文件類型或自訂實體。請先將其移除再進行最佳化。」
程式碼字元數超過最大限制 顯示「此 SVG 體積過大。請控制在 {max} 個字元以內。」
最佳化運算時間超過 15 秒 顯示「處理時間過長並已停止——請嘗試較小的 SVG。」
成功壓縮檔案體積 顯示「已最佳化——體積減少 {pct}%(節省了 {saved})。」並提供「原始」、「輸出」與「節省」的位元組(bytes)數據
安全清理後檔案體積未減少 顯示「已最佳化。在安全清理設定下,檔案體積並未減少。」
其他未知解析錯誤 顯示「無法最佳化此 SVG。」

在最佳化過程中,若使用者點選清除或更改輸入內容,系統會立即終止當前正在進行的最佳化程序。

常見問題

它會清理甚麼內容?

它會移除註解、元數據(metadata)、編輯器命名空間、多餘的屬性空格、未使用的命名空間,並將顏色重寫為較短的等效形式。viewBox、ID、標籤和幾何數據則會保持原樣。

所有 SVG 都能最佳化嗎?

它能處理一般的內嵌 SVG 程式碼。含有文件類型或自訂實體宣告的 SVG 會被阻擋,因為這類宣告可能會導致解析不安全。請移除這些宣告後再試。

這會改變圖形的外觀嗎?

最佳化工具會避免改寫路徑、重新命名 ID、移除 viewBox 及進行小數精度捨入。如果你的設計流程依賴註解或元數據(metadata),請保留一份原始 SVG 備份。