圖片工具2026-05-10

如何將 PNG 轉換為 WebP——檔案縮小 26% 同時保留透明度

PNG 是網頁上無損圖片的黃金標準——非常適合標誌、截圖、圖示以及任何具有銳利邊緣或透明度的內容。問題在於,按照現代標準,PNG 的壓縮並不特別高效。Google 自己的基準測試顯示,無損 WebP 圖片平均比等效 PNG 小 26%。這意味著如果你的網站每次頁面載入提供 5 MB 的 PNG 圖片,切換到 WebP 將在資料傳送上節省超過 1.3 MB,且零品質損失。零。每個像素都是相同的。透明度、Alpha 通道、清晰的文字——一切都保持不變,只是裝在一個更緊湊的容器裡。我們的 PNG 轉 WebP 轉換器支援無損模式(相同品質,更小檔案)和有損模式(積極壓縮以獲得更小檔案,品質略有降低)。兩種模式都保留透明度。本指南走查轉換過程、截至 2025 年的相容性情況,以及如何為你的特定 PNG 素材在無損和有損 WebP 之間做出決定。

swap_horiz

PNG轉WebP轉換器

免費 · 無需註冊

免費試用此工具 →open_in_new

分步指南

1

上傳你的 PNG 檔案

將你的 PNG 拖放到轉換器上。該工具接受最大 50 MB 的 PNG-8、PNG-24 和 PNG-32 檔案(後者包括 Alpha 通道)。上傳即時完成——沒有資料傳送到任何伺服器。轉換器在你的瀏覽器中直接讀取檔案,並準備使用現代瀏覽器內建的 WebP 編碼器重新編碼。

2

選擇無損或有損模式

選擇「無損」以獲得平均 26% 的體積縮減,像素品質完全相同。這是標誌、UI 元素、截圖和任何包含文字的圖片的推薦模式。選擇「有損」如果你想要更小的檔案並能容忍輕微的品質降低——將品質滑桿設為 80–90% 對圖示和裝飾圖形效果良好。

3

下載你的 WebP 檔案

點擊「轉換」,你的 WebP 在一秒內產生。對比轉換前後的體積——一張 200 KB 的 PNG-24 標誌通常會變成 145–155 KB 的無損 WebP。預覽顯示你的圖片,透明處以棋盤格顯示,這樣你可以在下載前驗證 Alpha 通道是否完好。

使用技巧與最佳實踐

check_circle

無損 PNG 轉 WebP 轉換平均產生 22–34% 的體積縮減,26% 是 Google WebP 研究中常引用的數字。用你自己的圖片測試以確切了解你能節省多少。

check_circle

具有大面積平色的 PNG 圖片(標誌、圖示、UI 元素)通常比照片型 PNG 壓縮得更好。一個平色標誌可能縮小 35–40%,而帶有漸層的截圖可能只縮小 15–20%。

check_circle

應用於 PNG 的 90% 品質有損 WebP 通常產生比原始小 60–70% 的檔案,視覺品質在正常觀看距離下與原始無法區分。對於圖片密集型部落格來說,這是一個強大的選項。

check_circle

對於帶有 Alpha 透明度的 PNG,WebP 無損模式保留 Alpha 通道的每個像素。透明度在數學上是相同的——投影、羽化邊緣和部分不透明度都能在轉換後完好保留。

check_circle

截至 2025 年,WordPress 不會原生產生上傳 PNG 的 WebP 版本。像 WebP Express、Imagify、ShortPixel 和 EWWW Image Optimizer 這樣的外掛填補了這一空白。將它們的壓縮率與我們的手動轉換器進行比較,找到最適合你網站的管線。

check_circle

轉換 CSS sprite 中使用的 PNG 圖示時,一次性轉換整個 sprite 表而不是單個圖示。這保留了 sprite 座標,免去你重新計算位置的麻煩。

check_circle

轉換後,在 Safari(桌面和 iOS)中測試你的 WebP。Safari 14+ 支援 WebP,但某些舊裝置上的使用者可能仍然看到破損的圖片。檢查你的分析以確定這影響了多大比例的受眾。

check_circle

永遠不要刪除你的原始 PNG 檔案。始終保留 PNG 作為你的母版副本——它是無損的,並且可以在將來以任何品質級別重新編碼為 WebP,而不會累積世代損失。

常見問題解答

Google 的基準測試研究發現,無损 WebP 圖片平均比 PNG 等效物小 26%。個人結果因圖片內容而異——平色圖片壓縮更多,雜點多的圖片壓縮較少——但 22–34% 的範圍涵蓋大多數真實圖片。

PNG 轉 WebP 轉換對於網頁效能是純粹的勝利——更小的檔案、無損模式下相同的品質、完整的透明度支援以及廣泛的瀏覽器相容性。26% 的平均體積縮減在每次頁面瀏覽、每次存取和每個使用者身上累積。今天轉換你的 PNG,開始為你的受眾提供更快的體驗。

免費試用此工具 →open_in_new