什麼情況會需要改一張 SVG
- 免費圖庫下載的圖示是黑色的,要換成品牌色才能放進版面。
- 同一組圖示要出深色與淺色兩個版本,顏色必須一致。
- 設計軟體匯出的 SVG 塞滿編輯器的 metadata 與註解,檔案比實際內容大好幾倍。
- 要把 SVG 直接內嵌進 HTML 或元件裡,多餘的屬性會一起進版控。
- 收到來源不明的 SVG,想在放進網站之前先把可執行的內容清掉。
三個步驟改好一張 SVG
- 上傳 SVG 檔案,或切到「貼上原始碼」貼上一段 SVG 文字。
- 左側會列出圖裡用到的每個顏色,點色塊或輸入 hex 改色,右側預覽立刻跟著變。
- 改完按「下載 SVG」存檔,或「複製 SVG 原始碼」貼到其他地方用。
不知道要拿什麼來試,按「載入範例」會帶入一個示範用的小圖示。
顏色是怎麼被找出來的
SVG 的顏色可能寫在三個地方:fill/stroke 屬性、行內 style="fill:…",或是 <style> 區塊裡用 class 選到的規則——最後一種在 Illustrator、Figma 匯出的檔案裡很常見。這個工具不管顏色寫在哪裡, 一律找得到,並列成左側一格一格的色塊,改色時用一段行內樣式蓋過原本的定義, 不會直接改寫你原本的屬性或 <style> 規則文字,所以原始碼裡有時還看得到舊的 hex 值,那是正常的——實際生效的顏色以預覽與下載出來的檔案為準。
漸層與圖樣(<linearGradient>、<pattern> 之類)內部定義的顏色 不在這個工具的範圍內,會被跳過、無法在這裡編輯,左側會用一行文字提醒有幾個這樣的顏色被略過。
優化器會清掉什麼、不會動什麼
這一步一律自動套用,不是可以關掉的選項,清掉的都是不影響外觀的東西:
- 所有留言(
<!-- -->)。 <metadata>,以及 Inkscape、Illustrator 等編輯器留下的專屬命名空間元素與屬性。- 沒有內容、沒有屬性的空群組。
- 純粹用來排版縮排的空白,圖裡真正要顯示的文字不會被動到。
這不是 SVGO 等級的最小化工具:不會動路徑座標的精度,也不會重新精簡 <style> 區塊本身的規則文字。真的需要極致壓縮的檔案大小, 這個工具做不到那個程度。
上傳的內容會先被消毒
這一步同樣一律自動套用。SVG 可以合法地內嵌 <script>、onload 這類事件屬性,或是指到外部網址的 <use>/<image> 參照,一旦被瀏覽器解析就可能執行程式碼或偷偷發出網路請求。 這個工具在解析階段就會移除這幾種內容,就算你上傳的檔案來路不明也不會執行任何東西, 只會被當成純圖像資料處理。
你上傳或貼上的內容會不會離開瀏覽器
不會。解析、改色、優化與消毒全部在你的瀏覽器裡完成,沒有任何請求會把內容送出去, 下載與複製的檔案也是在你的電腦上組出來的。細節見隱私權政策。
常見問題
- 可以改漸層裡的顏色嗎?
- 不行,漸層與圖樣內部的顏色定義超出這個工具的範圍,會被跳過並提示略過的數量。
- 下載的檔案裡為什麼還看得到舊的 hex?
- 改色是疊加一段行內樣式蓋過原本的定義,不是直接改寫原始屬性或 style 規則的文字,所以原本的顏色文字有時還在,但實際畫出來的顏色以行內樣式為準。
- 優化後路徑資料會被精簡嗎?
- 不會。優化器只清掉註解、metadata、編輯器屬性與排版空白,不會動任何座標或路徑指令。
- 可以一次處理多個 SVG 檔嗎?
- 不行,一次只能處理一個檔案,處理完下載後可以再上傳下一個。
- 檔案大小有限制嗎?
- 上限是 2 MB,一般圖示與插畫用的 SVG 都遠低於這個大小。