前情提要
Squoosh 和 oxipng 都是優秀的圖片壓縮工具,各有特色:
Squoosh
Squoosh 是 Google Chrome Labs 開發的一款開源圖片壓縮工具,主要特點包括:
- 基於瀏覽器運行:可以直接在網頁中使用,無需安裝任何軟體
- 多種壓縮格式支持:支持 WebP、AVIF、JPEG、PNG 等多種圖片格式的轉換和壓縮
- 即時預覽:提供分屏對比功能,可以實時查看壓縮前後的效果差異
- 客戶端處理:所有處理都在本地進行,保護隱私安全
- 參數可調:可以自定義壓縮質量、尺寸調整等參數
oxipng
oxipng 是一個用 Rust 編寫的PNG 優化工具,特點如下:
- 專注 PNG 優化:專門針對 PNG 格式進行無損或有損壓縮
- 命令行工具:適合批量處理和自動化工作流
- 高效性能:利用 Rust 語言的性能優勢,處理速度快
- 多種優化級別:提供從 0-6 的優化級別選項,可根據需求平衡壓縮率和處理時間
- 無損壓縮:在保證圖片質量不變的情況下減小文件大小
使用場景建議
- Squoosh:適合需要圖形界面、即時預覽效果、處理少量圖片或需要格式轉換的場景
- oxipng:適合批量處理 PNG 圖片、集成到自動化構建流程、對命令行工具熟悉的開發者
oxipng 使用案例
基本使用
壓縮單個 PNG 圖片:
oxipng image.png
這會使用默認設置優化圖片,並直接覆蓋原文件。
批量壓縮圖片
壓縮資料夾中的所有 PNG 圖片:
oxipng *.png
或遞迴處理子資料夾中的所有 PNG:
oxipng -r ./images/
設定優化級別
使用不同的優化級別(0-6,數字越大壓縮越好但速度越慢):
oxipng -o 6 image.png
調整顏色深度
將圖片色彩減少到 256 色(8 位元):
oxipng --bit-depth-reduction --color-type-reduction --palette-reduction image.png
或使用簡化參數:
oxipng --strip safe image.png
保留原檔案
輸出到新檔案而不覆蓋原始檔案:
oxipng -o 4 input.png --out output.png
批量處理並設定參數
批量壓縮所有 PNG,使用最高優化級別,並保持原檔案的時間戳訊息:
oxipng -o 6 --strip safe -r ./images/ --preserve
查看壓縮效果
使用 verbose 模式查看詳細的壓縮資訊:
oxipng -v image.png
批量壓縮並輸出到指定資料夾
將所有 PNG 圖片壓縮後輸出到新資料夾,保留原檔案的時間戳:
oxipng -o 6 --strip safe *.png --dir new_images --preserve
此命令會:
- -o 6:使用最高優化級別進行壓縮
- --strip safe:移除安全的元數據(如註釋),但保留必要的顏色配置
- *.png:處理當前目錄下所有 PNG 檔案
- --dir new_images:將壓縮後的檔案輸出到 new_images 資料夾(若資料夾不存在會自動創建)
- --preserve:保留原檔案的修改時間等元數據
參考 URL
Squoosh
oxipng
oxipng
oxipng • Updated Dec 7, 2025
