ByteScope

AVIF to PNG

把 AVIF 換成一個你電腦裡每支程式都開得起來的檔案,透明度留著,也不會再掉畫質。

檔案不會離開你的瀏覽器 — 全部在本機處理。

轉檔為
調整尺寸
PNG 為無損格式,無品質設定

✓ 輸出檔案已完全移除 EXIF、GPS 等所有元資料。

拖放圖片至此處

或點擊瀏覽 — PNG, JPEG, WebP, GIF, HEIC, AVIF, SVG — 亦可在頁面任意處貼上圖片(Ctrl+V)

為什麼要把 AVIF 轉成 PNG?

AVIF 轉成 PNG 會失去什麼

一個無損的目標格式竟然會掉位元深度,是這裡最沒人預期、卻影響最大的一項。來源格式規格裡寫得下 10 位元、12 位元的取樣和 HDR 轉換函式,但這個轉換不管走哪一條解碼路徑,最後都停在 8 位元的緩衝區:瀏覽器自己的解碼器畫進 8 位元的 canvas,內建的 WASM 備援則回傳 8 位元的 ImageData。所以輸出只對那八個位元無損,再往上就什麼都不保證:一段在 10 位元來源裡完全平滑的漸層,可能在一個大三四倍的檔案裡看得見一階一階。如果畫面本身是 HDR 調光,那個動態範圍不是被壓縮 —— 是在編碼開始前就沒了。

動畫停在第一個影格。多影格的來源會被偵測到,其餘影格和時間資訊被丟掉,並且警告你只轉了一個影格,因為這條路徑寫出來的是單張影像檔而不是 APNG。解碼本身還有兩個細節值得知道。流程會先問瀏覽器;瀏覽器完全解不開時,才載入 WASM 的 AV1 解碼器,並用一則注記告訴你備援啟動了 —— 也就是說,連顯示不出來的環境都轉得動。走備援那條路時,轉檔器會自己從容器裡讀出 irot 和 imir 這兩個方向屬性再套上去,因為 WASM 解碼器交回來的畫面是沒有轉過的。

alpha 色版完整留著,任何地方都不會被鋪上背景色,而且從這裡開始不會再掉畫質。最後這句話的說法很重要:無損講的是「從現在起」,不是「到目前為止」。原本編碼器抹掉的東西、它在高反差邊緣留下的光暈,還有它合成出來的底片顆粒,現在都已經是畫面本身,會被一模一樣地、永久地記錄下來。

實測時檔案大小怎麼變

2026-09-12,腳本量了一張 1280 × 854、品質 85 的來源,491,861 位元組,解碼後把「最佳化 (oxipng)」打開寫成 PNG:1,823,978 位元組,大約 3.7 倍。把這個倍率推高的有兩件事:無損地保存一張照片本來就貴,而且壓縮器現在還得把前一個編碼器的抹平和鬼影當成細節記下來,那些東西和真正的紋理一樣難預測。另外要注意,實測是把「最佳化 (oxipng)」打開量的,而上面那個勾選框預設是關的 —— 維持關閉的話,瀏覽器自家編碼器產出的結果通常還會再大一點。平面插畫和畫面截圖膨脹得少很多,因為列篩選和調色盤化有東西可以發揮。

什麼時候不該把 AVIF 轉成 PNG

不要為了發布而轉。來源本來就是小的那個,這條路只把位元組乘上去而沒有增加任何東西;真的有客戶端讀不懂,一個 JPG 備援的成本也只有它的零頭。也不要拿來典藏:結果並沒有比來源更忠於現場,只是比較大,而且已經失去了典藏該拿來建索引的元資料。更不要指望它能救回細節、銳利度或動態範圍。除非你有每張數十 MB 的空間,否則也別對一整個資料夾的 1200 萬像素照片下手。它真正對的時機是:桌面編輯器、辦公室軟體、印刷流程或上傳表單直接拒收來源檔、這個交接過程中透明度必須活下來,或是你需要一份可以反覆編輯重存而不再掉畫質的中繼檔。

轉換完全在你的瀏覽器內進行 — 不上傳、不排隊、無浮水印。想放幾個檔案都行,可逐一下載,也能打包成 zip。

常見問題

轉完之後平滑的漸層為什麼出現色帶?

因為來源可能用 10 或 12 位元存每個通道,而這條解碼路徑只到 8 位元。讓漸層看起來連續的那些中間階,在編碼之前就被量化掉了。無損格式能保存的只有交到它手上的數值,不包括它從沒見過的那些。

瀏覽器根本顯示不出來的檔案也轉得了嗎?

轉得了。流程先試瀏覽器自己的解碼器,被拒絕之後由內建的 WASM AV1 解碼器接手,並用一則注記告訴你。走那條路時會從容器裡讀出方向屬性再手動套上,所以結果一樣是正的。

換成無損格式畫面會不會變好?

不會。它的意思是從這裡開始不再掉東西。原本編碼器留下的抹平、邊緣光暈和合成顆粒都會被原樣記下來,所以你拿到的是一份忠實(而且大很多)的近似複本,不是原始場景的還原。

我的圖片會被上傳到任何地方嗎?

不會。轉換在你的瀏覽器內使用 canvas API 和 Web Worker 完成 — 檔案不會離開你的裝置。沒有上傳步驟、不用排隊,檔案大小也只受限於你電腦的記憶體。

轉換後的圖片會保留 EXIF 中繼資料嗎?

不會 — 而這正是特色之一。透過 canvas 重新編碼會移除所有中繼資料:GPS 位置、相機型號、時間戳記和色彩描述檔。輸出只包含像素,而這通常正是你公開分享圖片前想要的結果。

可以一次轉換很多張圖片嗎?

可以。拖放或貼上任意數量的檔案;每個檔案都會在背景轉換,各自有進度顯示和下載按鈕,也可以把全部內容打包成 .zip 一次下載。

轉檔會讓畫質變差嗎?

看你選的目標格式。不管來源和目標是哪兩種格式,轉換器一律先解碼成原始像素再重新編碼,中繼資料也是這樣被移除的。目標是無損格式(PNG,以及在 256 色限制內的 GIF)時,像素和解碼出來的完全一樣;目標是 JPEG、WebP 或 AVIF 時,則由品質滑桿控制取捨,而且來源本來就是有損檔的話,會再多疊一層損失。