線上壓縮圖片,即時預覽效果

上傳 JPG、PNG、WebP 或 AVIF 檔案,拖動品質滑桿即時預覽,再下載由 sharp 與 libvips 重新編碼的成果。

或將圖片拖放至此

關於此工具

從瀏覽器中壓縮 JPG、PNG、WebP 或 AVIF 圖片,提供即時品質滑桿與格式比較。將圖片拖到頁面上,預覽會用瀏覽器的 canvas 編碼器即時更新,每次滑桿移動都在本機進行,不會經過網路。當你點擊下載時,原始檔案會透過 HTTPS 送到我們的壓縮服務,也就是由 sharp 加 libvips 支撐的 Cloudflare Worker,這是 Vercel 與 Shopify 使用的同一套編碼堆疊。在相同品質設定下,伺服器端的編碼通常比瀏覽器預覽小 10 到 15 個百分點,因為 libvips 套用了瀏覽器無法比擬的 MozJPEG 調校。檔案會在租戶隔離的快取中短暫保存,接著被移除。伺服器通道接受最大 25 MB 的檔案,適合需要更小檔案的攝影師、開發者與產品團隊。

壓縮圖片
這套工具做什麼

這套工具做什麼

這個頁面執行雙通道圖片壓縮器。你在預覽上方看到的滑桿是即時的本機編碼器,使用瀏覽器原生的 canvas.toBlob 搭配你選擇的品質值。每次滑桿移動都會重新渲染分割預覽並更新位元組計數,完全不產生網路流量。當你點擊下載時,原始檔案會送到我們的壓縮服務,由 sharp 與 libvips 進行最後編碼,這是 Vercel 與 Shopify 使用的同一套編碼堆疊。輸出會完全保留你的輸入尺寸。這套工具支援 JPG、PNG、WebP 與 AVIF 的任意輸入與輸出組合。

壓縮圖片
如何一步一步壓縮圖片

如何一步一步壓縮圖片

把 JPG、PNG、WebP 或 AVIF 拖到上傳區,或用 Ctrl+V 從剪貼簿貼上。從三張卡片中選擇輸出格式(WebP 是照片的預設值)。拖動品質滑桿,即時觀察位元組計數的變化,當檔案大小達到你的目標而預覽還看起來不錯時就停下來。點擊下載,取得伺服器編碼的成果。如果壓縮服務無法連線,系統會改存瀏覽器編碼的預覽,讓你一定能拿到可用的檔案。

壓縮圖片
如何選擇合適的品質等級

如何選擇合適的品質等級

品質滑桿範圍是 1 到 100,預設的有損值為 78。品質 80 等同於 Adobe Photoshop 在匯出 JPEG 時標記為「高」的設定,是作品集與客戶交付的安全選擇。品質 60 是常見的網頁預設值,可以把 4 MP 的照片壓到大約 200 到 400 KB,在一般觀看距離下沒有明顯損失。低於 50 時,方塊形雜訊會開始出現在漸層與膚色上。低於 30 時,輸出看起來就像縮圖。滑桿上方的位元組計數會在你拖動時顯示精確的輸出大小,不必再用猜的。

壓縮圖片
哪一種格式最小:JPG、WebP 還是 AVIF

哪一種格式最小:JPG、WebP 還是 AVIF

這套工具會把 JPG、WebP 與 AVIF 的位元組大小並排顯示在同一張來源圖片上,讓比較建立在你實際的檔案上,而不是通用的測試樣本。一般而言,在相同視覺品質下,WebP 通常比 JPG 小 25 到 35 個百分點,AVIF 通常比 JPG 小 40 到 60 個百分點。AVIF 的編碼時間較長,在伺服器通道上一張 8 MP 照片大約需要 3 到 8 秒,因為 libaom 計算量很重。在 2026 年,Chrome、Firefox、Safari 與 Edge 對這三種格式的支援都很完整。當圖片色彩有限時,例如截圖與標誌,PNG 是合適的選擇,因為調色盤量化的效果勝過有損編碼器,在這個情境下圖片壓縮不失真也能成立。

壓縮圖片
你的檔案如何被處理

你的檔案如何被處理

滑桿預覽不產生任何網路流量。每次拖動都是在你的瀏覽器內呼叫一次新的 canvas.toBlob,你可以在 DevTools 中以 compress 過濾 Network 分頁來驗證,移動滑桿時不會出現任何請求。下載點擊是唯一會上傳的步驟。你的檔案會透過 HTTPS 以 POST 方式送到我們在 /api/compress 的 Cloudflare Worker,再代理到執行 sharp 與 libvips 的後端。編碼後的結果會在回應主體中傳回,並儲存到你的下載資料夾。中介副本會在租戶隔離的快取中短暫保存,接著被移除。如果服務無法連線,或檔案超過 25 MB,瀏覽器編碼器會作為備援默默執行。

壓縮圖片
這套工具不做什麼

這套工具不做什麼

不調整尺寸,輸出尺寸等於輸入尺寸,所以如果你也需要縮小像素數,請先使用調整大小工具。不支援批次上傳,刻意一次只處理一張圖片。不保留 EXIF,中繼資料會被 libvips 與 sharp 在編碼層級剝除,這對隱私是好處,但代表內嵌的 GPS 與相機資料會消失。視覺方向標記會在剝除前被讀取並套用,所以你的輸出方向仍然正確。不處理 GIF 動畫,只處理第一張畫格。沒有指定目標大小的模式,但用即時位元組計數做兩到三次滑桿調整,通常可以命中任何目標 10 個百分點以內。

如何將照片裁剪成圓形

  1. 拖入或貼上你的圖片

    把 JPG、PNG、WebP 或 AVIF 拖到上傳區,或點擊瀏覽。你也可以用 Ctrl+V 或 Cmd+V 從剪貼簿貼上。

  2. 選擇輸出格式

    點擊 JPG、WebP 或 AVIF 來設定輸出。WebP 是預設值,通常是上傳到網頁的照片中最小的選擇。

  3. 拖動品質滑桿

    移動滑桿時觀察位元組計數的變化。當檔案大小夠小,而你看預覽還覺得可以時,就停下來。

  4. 點擊下載

    原始檔案會送到我們的伺服器進行 sharp 加 libvips 編碼。最終檔案通常比瀏覽器顯示的預覽小 10 到 15 個百分點。

常見問題

如何壓縮圖片?

把圖片拖到頁面上,然後拖動品質滑桿,直到計數器顯示的檔案大小符合你的目標。點擊下載即可取得伺服器編碼的結果(由 sharp 加 libvips 編碼)。整個流程不到一分鐘。下載按鈕會觸發一次到壓縮服務的 POST,如果服務無法連線,系統會改存瀏覽器編碼的預覽。

為什麼要壓縮 JPEG 圖片?

一張未經優化的手機照片通常是 4 到 6 MB。在品質 78 時,同一張照片由 MozJPEG 重新編碼後,通常落在 800 KB 到 1.5 MB,小到足以當作電子郵件附件、WhatsApp 分享與網頁主視覺,而沒有明顯的視覺損失。壓縮後的圖片載入也更快,有助於改善 Core Web Vitals 分數。

如何在不損失品質的情況下壓縮圖片?

若要真正的無損壓縮,請選擇 PNG 作為輸出格式。PNG 路徑使用 pngquant 進行調色盤優化,可以把未經優化的 PNG 縮小 30 到 50 個百分點,而沒有可察覺的差異。對於有損格式(JPG、WebP、AVIF),品質 80 是大多數觀看者無法分辨差異的實用門檻,不過結果取決於圖片內容。

可以把圖片壓縮到特定的檔案大小,例如 100 KB 嗎?

這套工具沒有指定目標大小的模式,但用即時位元組計數命中目標其實很容易。把滑桿往下拖,直到計數器顯示你的目標,然後點擊下載。兩到三次滑桿調整,通常就能落在任何目標大小 10 個百分點以內。如果壓過頭,再把滑桿稍微往上拖一點。

哪一種格式最小:JPG、WebP 還是 AVIF?

取決於圖片內容。這套工具會同時顯示三者的位元組數,讓你在實際檔案上比較。一般而言,在相同視覺品質下,WebP 通常比 JPG 小 25 到 35 個百分點。AVIF 通常比 JPG 小 40 到 60 個百分點,不過編碼時間會多出幾秒。

壓縮圖片會縮小它的尺寸嗎?

不會。輸出尺寸與輸入尺寸完全相同。壓縮只改變位元組編碼,不會改變像素數。如果你還需要降低解析度(例如從寬 4000 px 降到 1200 px),請先使用調整大小工具,再壓縮調整後的檔案。這個順序能讓最終檔案最小。

詳細資訊

團隊關於工藝、格式以及一個好的圓形裁剪背後小決定的筆記。

雙通道架構的運作方式
滑桿預覽與下載編碼是兩條獨立的程式路徑。預覽使用瀏覽器原生的 canvas.toBlob API,在 GPU 合成執行緒上同步執行。每次滑桿移動都會觸發一次新的 canvas.toBlob 呼叫,帶入新的品質值,結果會被畫進分割預覽的畫布。這完全在本機進行:你可以打開 DevTools,切到 Network 分頁,以 compress 過濾,觀察滑桿互動期間沒有任何請求出現。下載按鈕觸發的是完全不同的程式路徑。它會把原始(未修改)檔案以 POST 方式送到 /api/compress 的 Cloudflare Worker,再代理到執行 Node 24 與 sharp 套件(Apache 2.0 授權)的 Fastify 伺服器,背後由 libvips 8.x(LGPL-3.0)支撐。編碼後的結果在回應主體中傳回,並儲存到瀏覽器的下載資料夾。兩條路徑,一套工具。
為什麼伺服器編碼勝過瀏覽器編碼
瀏覽器的 JPEG 編碼器使用 libjpeg 或瀏覽器專屬實作,缺少 MozJPEG 的色度子取樣表調校。MozJPEG 是 libvips 為 JPEG 呼叫的編碼器,由 Mozilla 在 2014 年開發,作為 libjpeg-turbo 的直接替代品,重點在於以相同感知品質產生更小的檔案。在 50 張多樣化照片(野生動物、人像、產品攝影、截圖)的測試中,libvips 與 MozJPEG 在品質 78 的編碼,比 Chrome 的 canvas.toBlob 在相同品質值下小 10 到 20 個百分點。PNG 的差異更大:瀏覽器使用預設壓縮的 zlib,而 pngquant 會把色彩調色盤縮減到必要的最小值,通常能把未優化的 PNG 檔案縮小 30 到 70 個百分點。
AVIF:是什麼以及何時使用
AVIF 以 AV1 影片編碼器的畫格內預測為基礎,由開放媒體聯盟開發。它能跨更大區域預測像素值,並更精簡地表示殘差,因此壓縮效率優於 JPEG。實際結果是,在品質 60 的 AVIF 檔案,視覺上往往與品質 80 的 JPEG 檔案難以分辨,卻小 40 到 60 個百分點。代價是編碼時間:在我們的伺服器上,一張 8 MP 照片以 libaom-av1 在品質 60 編碼需要 3 到 8 秒。截至 2026 年,瀏覽器支援很完整(Chrome、Firefox、Safari、Edge 都能解碼 AVIF)。這套工具會即時顯示 AVIF 的位元組數,與 JPG 與 WebP 並列,讓你判斷在你的工作流程中,容量節省是否值得稍長的編碼等待。
實務上的品質設定
對於有損格式,滑桿直接對應到編碼器的 q 參數。在品質 80 時,設定等同於 Adobe Photoshop 在匯出 JPEG 時標記為「高」的選項,也是大多數專業工作流程使用的預設。在品質 60 時,平均一張 4 MP 照片會壓縮到大約 200 到 400 KB,小到足以應付大多數電子郵件與網頁用途,細節損失只在 1:1 縮放下的細緻紋理區域才看得出來。低於品質 50 時,方塊形壓縮雜訊會在平滑漸層與膚色上開始顯現,即使在視網膜螢幕的一般觀看距離下也看得到。低於品質 30 時,輸出雖可辨識但明顯壓縮過度,只適合縮圖預覽。滑桿上方的位元組計數會在你拖動時以 KB 顯示精確的輸出大小,並非估計值。
中繼資料剝除以及為什麼重要
兩條通道預設都會從輸出中剝除 EXIF、GPS 與相機中繼資料。這是 libvips 與 sharp 在預設設定下的正確行為,實務上有兩個效果。首先,它會移除智慧型手機相機嵌入的潛在敏感位置資料,對於公開分享的圖片是隱私上的好處。其次,它會稍微減少檔案大小(典型的 EXIF 區塊是 10 到 40 KB)。視覺方向標記則另外處理:工具會在剝除前讀取 EXIF 方向欄位,並預先旋轉圖片,讓輸出方向正確。如果你需要為鑑識、典藏或印刷工作流程保留中繼資料,應該在壓縮前使用專用的中繼資料編輯器。
支援的格式:輸入什麼以及輸出什麼
在每個現代瀏覽器中,輸入都接受 JPG、PNG、WebP 與 AVIF,以魔術位元組嗅探驗證,而非僅靠副檔名。GIF 在 Chrome 與 Firefox 中也接受,但只處理第一張畫格(不保留動畫),所以動畫 GIF 不應該用這套工具壓縮。HEIC 在 Safari 中可用,因為 Safari 內建原生 HEIC 解碼器,但 Chrome 與 Firefox 沒有原生 HEIC 解碼能力。不論輸入格式為何,輸出都可以是 JPG、PNG、WebP 或 AVIF,所以你也可以把這套工具當作一步到位的轉檔加壓縮路徑。伺服器通道接受最大 25 MB 的檔案。超過上限的檔案會改由瀏覽器備援編碼器處理。