要在 JPG 和 PNG 之間轉換,您要根據用途選擇方向,因為 JPG 轉 PNG 路徑可保留無失真的細節,而 PNG 轉 JPG 路徑則會將照片壓縮成原始大小的一部分。這兩種格式的存在意義完全相反,這也是為什麼大多數搜尋某個方向的人,其實需要的是另一個方向。PNG 會精準保留原始記錄的每一個像素,並帶有透明度用的 alpha 通道 — 適合用於標誌、截圖,以及邊緣銳利的線條圖。JPG 則採取相反做法:它將影像分割成 8×8 的方塊,執行離散餘弦轉換,並捨棄眼睛幾乎察覺不到的高頻細節。最終結果是照片檔案大小大幅縮減,而品質損失通常仍低於肉眼可辨識的門檻。先理解這個分野,就能避免您反覆儲存同一個檔案三次,還納悶為什麼檔案還是太大。下方我們會逐步說明兩個方向、解釋為什麼許多搜尋「JPG 轉 PNG」的人其實想要的是 PNG 轉 JPG,並展示如何在瀏覽器中於本地完成轉換 — 無需上傳,無需註冊。

how to make jpg to png
如何將 JPG 轉為 PNG(以及何時 PNG 轉 JPG 更勝一籌)

PNG 與 JPG 解決的是相反的問題

PNG 和 JPG 都是儲存像素資料的點陣圖格式,但它們對「什麼才重要」下了不同的賭注。PNG 是無失真的:它精準儲存每一個原始記錄的像素,並帶有 8 位元 alpha 通道,這代表標誌、截圖或圖表可以擁有完全透明的背景。它的壓縮機制(DEFLATE)非常善於找出重複模式,因此具有平坦色彩與銳利邊緣的 PNG 檔案會變得極小。同樣的機制用在照片上則徒勞無功 — 照片包含數百萬種細微不同的色彩,這些色彩不再重複,因此這類 PNG 會膨脹到數 MB 的範圍。

JPG 是有失真的:它將影像分割成 8×8 的像素方塊,對每個方塊執行離散餘弦轉換(DCT),並捨棄眼睛幾乎察覺不到的高頻成分。天空或人像中的平滑漸層壓縮效果極佳,這也是為什麼手機照片存成 JPG 後,大小常常只有同張照片存成 PNG 的十分之一。JPG 完全沒有 alpha 通道 — 每個像素都是不透明的。

特性PNGJPG
壓縮類型無失真(DEFLATE)有失真(對 8×8 方塊執行 DCT)
透明度有 — 完整的 8 位元 alpha 通道無 alpha 通道
最適用於標誌、截圖、線條圖、圖示照片、複雜漸層
典型照片檔案大小一張手機照片通常達數 MB通常為 PNG 大小的十分之一
儲存時的品質損失有 — 由品質滑桿控制

這個表格告訴您每種格式的設計用途。當您的使用情境對到某一欄,那欄就是您該選的格式。對不上時,就需要轉檔。

為什麼「JPG 轉 PNG」對攝影師來說常常適得其反

搜尋「JPG 轉 PNG」的人通常來自三種情境:有人想從已壓縮的 JPG 中救回細節、有人想為照片加上透明度,或有人因為手上的 PNG 太大,而以為較小的「JPG」才是目標格式。最後一種情況最常見,也最事倍功半。

把 JPG 重新存成 PNG 無法救回 JPG 編碼器已經捨棄的細節。PNG 會保留相同的像素,只是包裹在更大的檔案裡,因為無失真的 PNG 無法還原 JPG 已丟掉的東西。更糟的是,如果來源是一張照片性質的 PNG — 例如照片的截圖、下載的產品圖、匯出的影片格 — 那麼把它轉成 JPG 確實會大幅縮減檔案,通常差距非常可觀,而且在正常檢視大小下,品質損失完全看不見。針對太大的 PNG,正確答案是 PNG 轉 JPG,而不是 JPG 轉 PNG。

話雖如此,JPG 轉 PNG 仍有其適用時機。當您打算對一張小 JPG 進行大量編輯 — 遮罩、調色、合成 — 採用無失真的中間格式會比較有利,因為每存一次 JPG,失真瑕疵都會疊加。而那些只是因為從網頁上擷取而以 JPG 形式存在的標誌,一旦您取得乾淨的來源,改存為 PNG 通常效果更好。

如何在瀏覽器中將 PNG 轉成 JPG

PNG 轉 JPG工具會使用 Canvas API 在本頁上完成整個轉檔,因此沒有任何檔案會離開您的裝置。沒有上傳佇列、沒有帳號,也無需等待伺服器往返。

  1. 點擊瀏覽 PNG 檔案,從電腦中挑選一個或多個 PNG。選取的瞬間就會開始轉檔 — 不需要另外按「轉換」按鈕。
  2. 觀察每張檔案的預覽逐一出現。每張影像都會在您的瀏覽器中解碼,任何透明像素都會被攤平到白色畫布上,接著以目前的品質設定產出 JPG 版本。
  3. 拖曳JPEG 品質滑桿,在 0.60 到 1.00 之間重新編碼整批檔案。預設的 0.92 能在大幅縮檔的同時,讓壓縮瑕疵幾乎無法察覺。若追求最高保真度,請往 1.00 移動;若希望檔案盡可能小、且能容忍輕微方塊狀瑕疵,則往 0.60 移動。
  4. 比對每張預覽下方顯示的轉檔前後檔案大小。由於滑桿每次移動,編碼器都會重新執行,因此您看到的數字就是實際下載時的檔案大小。
  5. 點擊每張結果上的下載按鈕。檔案會以原始檔名重新命名 — photo.png 會變成 photo.jpg — 直接以正確的副檔名落入您的下載資料夾。

若您拖入的檔案不是 PNG,工具會跳過該檔案並說明原因,而不是悄悄產出一個副檔名錯誤、格式錯誤的檔案。

透明背景會發生什麼事

JPG 沒有 alpha 通道,因此一張透明 PNG 在轉檔後不可能保持透明 — 每個透空的像素都必須變成某種實色。PNG 轉 JPG 工具會先把畫布填滿白色,再把影像畫在白色之上。這個單一步驟,正是為什麼透明背景上的透明標誌,轉出來會是白底標誌,而不是黑底標誌。

之所以採用填白處理,是因為替代方案 — 編碼一張未填色的畫布 — 會輸出成黑色。若希望結果在網頁、文件或電子郵件內文中看起來自然,白色填補通常能融入背景。若您需要不同的背景顏色,為 PNG 加上背景工具以更直接的方式提供了同樣的「先填色再繪製」流程,讓您能在匯出前挑選精確的顏色。

對於真正需要透明度的影像,正確做法是留在 PNG 格式。另一個反向操作 — 把 JPG 轉成 PNG — 也可以透過 JPG 轉 PNG工具完成,但結果會是不透明背景,因為來源 JPG 本來就沒有背景可複製。

看懂品質滑桿

品質滑桿控制了 JPG 編碼器捨棄細節的積極程度。它的範圍從 0.60(檔案最小、瑕疵最多)到 1.00(檔案最大、瑕疵最少),預設值 0.92 是為照片挑選的近乎無失真的甜蜜點。

在 0.92 時,壓縮瑕疵 — 銳利邊緣周圍若有似無的 8×8 方塊感、文字附近的鈴振假影 — 在一般檢視距離下的典型照片上幾乎不可能察覺,而檔案大小仍比來源 PNG 縮減許多。 往 0.60 推進時,您是用可見的品質損失換取最小可能的檔案大小 — 適合用於將影像嵌入電子郵件或簡報、頻寬比像素級保真度更重要的情境。

在最高端,1.00 保留最多細節,但也會產生該範圍中最大的檔案。除非您打算將影像大尺寸輸出印刷,或之後要大幅裁切,否則很少需要將品質調到超過預設值。

滑桿是即時的:您每次移動它,工具都會重新編碼整批檔案,新的檔案大小會立即顯示在預覽下方。您可以在整個範圍內來回掃動,挑選一個瑕疵對您來說仍察覺不到的最低設定。

何時 JPG 轉 PNG 仍是正確選擇

儘管前面提出了檔案大小的論據,仍然有充分的理由反向操作。如果您要進行大量編輯 — 遮罩、調色、合成 — 每存一次 JPG,瑕疵都會疊加,因此即使最終要匯出成 JPG,使用無失真的 PNG 作為中間檔,能讓您的工作檔保持乾淨。那些只是因為從網頁上擷取而以 JPG 形式存在的標誌,在您取得乾淨來源後,都是重新存成 PNG 的好對象,因為 alpha 通道能讓您把它們放在任何背景上。

一條速記原則:當來源是照片、目的是分享、嵌入或附件時,把 PNG 轉成 JPG;當目的是編輯、封存,或放在非白色背景上時,把 JPG 轉成 PNG。若想更深入了解每種格式適用的場景,JPG vs PNG 決策指南並列列出了所有使用情境。

PNG 轉 JPG 工具一次就能處理典型的照片情境,而每張預覽下方的即時檔案大小顯示,讓您在下載前就能確認省下的空間。若某個 PNG 根本無法載入,請再次確認它是否真的是 PNG — 非 PNG 檔案會被跳過並回報,而不是默默重新編碼。

延伸閱讀:如何在 Inkscape(或瀏覽器)中將 SVG 轉成 JPG