去年換掉用了約 6 年的 OnePlus 7T,新手機照相可以選擇能節省大量儲存空間的 HEIC 格式,一張相片大約只佔 1~2MB,於是對過去動輒 5、6MB 甚至更大的老相片愈看愈不順眼。我本來是很排斥對原檔動刀的,曾經連每張相片的 RAW 都留著,但幾年過去了,事實證明根本不會再拿來修圖,還是下定決心動手,新的格式實在太香了。
雖然儲存空間還夠用,整個相片庫也沒大到哪裡去,但現在儲存空間愈來愈貴,未雨綢繆一下沒什麼不好,而且相片小了,也能節省在不同設備間同步的所需時間。
選擇格式
既然要轉換,首要問題就是該選擇哪個格式?雖說我不算攝影愛好者了,相片庫裡也包含了不少過去用手機記錄的回憶,還有當初剛上大學,覺得校園很美而衝動入手了 RICOH GR,邊學習攝影常識邊留下的一些記錄。所以我希望這個格式能夠在節省空間之餘,不會對照片畫質造成太大的負面影響,畢竟檔案一轉下去,等包含原始檔的備份快照被洗掉以後,就不能反悔了。
除了格式必須夠先進,能夠滿足畫質好、檔案小,這個既要馬兒跑又要馬兒不吃草的不合理要求外,其實還有一些事情需要考慮。比如相容性怎麼樣,能夠在大多數裝置上正常檢視嗎?有沒有受到大廠青睞,會一下子變成孤兒格式被放棄嗎?是否非專有格式,免得成為道德有瑕疵的人助長技術壟斷的推手?
適合的格式不多,以下粗略比較一下:
- HEIF:專有格式,滾。
- AVIF:客觀來說是很好的選擇,當前的相容性已經很高,在我的手機上(Samsung S25 - Android 16)可以用內建相簿正常檢視,就和手機自己拍的相片一樣。主流瀏覽器也都支援,不用多做處理就能直接使用,譬如本部落格的圖片都是 AVIF 格式的。
- JXL:技術上比 AVIF 更先進一些,比如支援更高的解析度和色域、漸進式解碼(在下載過程中由模糊變清晰,網頁上很有用)、無損轉換(可將 JPG 縮小 20% 且能完全還原),並且在同檔案大小下,畫質比 AVIF 好一咪咪。但當前相容性欠佳,在我的手機上內建相簿無法正常顯示,瀏覽器上都還只是實驗性支援。簡單來說,就是戰未來啦。
筆記
JXL 的解碼器正在用 Rust 重寫 ,Chrome 也重新加入了對 JXL 的實驗性支援 ,前景應該是滿好的,2026 將是 JXL 元年!
想實際比較 AVIF 和 JXL,這裡可以動手玩:jpegxl.info
實測結果


相簿裡有 10GB 的影片,所以單純計算相片的部分,從 32.1GB 大幅減少成 11.4GB,只剩下約 1/3 的大小。我沒有採取激進的破壞性壓縮,品質設定成視覺無損的 90,如果設定得更低,還可以壓榨出更多空間。
而且一開始挑了幾張相片測試,我盯著放大縮小看了一個小時,實在看不出轉換後有什麼差異,到了品質 70 才勉強看出部分物體邊緣有一些些色差。相信我,我有數位囤積癖,連國中寫的垃圾作業都還存在硬碟裡,就算只是丟掉一點清晰度我也是不願意的。如果有強迫症,心理上不能接受任何畫質損失的話,還可以用 JXL 的無損轉碼特技重新封裝舊的 JPG,免費得到最多減少 20% 的檔案大小。
使用工具
一開始我是用 Switcheroo(Flathub) ,後來才發現不能保留相片元數據,導致相片排序只看最後修改時間,會整個亂掉;而且沒辦法處理多目錄和子目錄,目錄一多處理起來會很痛苦,於是找了其他工具來用。不過日常比如寫部落格時,用來處理少量圖像還是很好用,右鍵選擇用 Switcheroo 開啟就能轉換。
最後找到同樣是開源軟體的 XL Converter(Flathub) ,這個軟體除了 UI 極客了點之外,真是棒極了!名字裡有個 XL,明顯是專注在 JXL 開發的軟體,給人十足的信心(但也支援轉換成 AVIF 等其他許多格式);能自動處理子目錄,只需要把整個相簿目錄拖進去,底下好幾層子目錄裡的檔案也會轉換,非常方便;支援 JXL 的無損轉碼,雖然我用不到,但對一些人來說應該滿有吸引力;允許保留時間戳和元數據,方便在看圖軟體內正確排序。

我的轉換設定是視覺上無損的品質 90,直接匯出到檔案所在的目錄,然後自動將原始檔刪除。如果目錄裡有 HEIF 等格式的相片,或混雜了影片,軟體會自動跳過不轉換,有轉換失敗的圖片也會保留,可以放心把整個相片庫添加進去處理,而且 JXL 的轉換速度很快,一萬多張相片 10 分鐘左右就處理好了,當然實際用時會受硬體性能影響。

另外如果想保留元數據和時間方便排序,別忘了勾選保留。要是發現元數據沒有順利保留,除了 Encoder - Preserve ,還可以嘗試 ExifTool - Preserve 這個選項,但處理速度會慢一點。

如果怕未來後悔,可以選 Lossless JPEG Transcoding,會用 JXL 重新封裝 JPG,在不損失任何畫質的情況下縮小 10~20% 的大小,而且事後可以無損還原回來,這裡說的無損不是開玩笑的,還原後連 Hash 值都一模一樣。
配套軟體
前面有說目前 JXL 的相容性有待加強,所以需要費點心力找配套方案。我的電腦作業系統是 Bluefin,不需要裝什麼東西就能正常檢視,內建的影像檢視器可以讀到元數據,檔案管理器中也能顯示縮圖。GIMP 和 Pinta 這樣的繪圖軟體也都能順利編輯。
老實說一切都沒問題,害我一開始以為這個格式的支援度已經很高,直到放到手機上才發現哭啊居然沒辦法看。幸好還是有開源的第三方軟體能正常檢視,不過有踩了一下坑。
目前推薦使用 Fossify Gallery(Google Play) ,能夠正常顯示 JXL 格式的相片,縮圖顯示速度也很快。不過需要注意的是,編輯時會出現錯誤,簡單的裁切都不行,在意的話還是選擇 AVIF 吧。

其實我更喜歡 Gallery(GitHub) 這款相簿軟體,介面非常漂亮現代,離線跑在裝置上的 AI 圖片分類功能也很棒,可惜目前對 JXL 的支援還不夠完整,最新的版本只能顯示不包含元數據的相片,如果沒清除元數據就會顯示錯誤,但舊版本(3.1.2)沒問題,就是縮圖顯示慢一些,已經有人提了 Issue ,期待未來能修復囉。
排序問題
儘管目前許多軟體可以正常檢視相片,但可能無法讀取完整的元數據,因此會依照最後修改時間排序相片,而不是元數據裡的原始建立時間。我有許多老相片的最後修改時間,可能由於過去管理不當,最後修改時間是錯的,和實際的拍攝日期差很遠,在相簿軟體比如 Fotema(Flathub) 裡,就會排序得亂七八糟。
但在轉換時,我們有保留元數據,所以可以用裡面的原始建立時間取代最後修改時間,也有很方便的工具 ExifTool(官網)
幫助完成這個工作。
如果你使用 Bluefin 或 Bazzite,系統已經包含了 Homebrew,可以方便地用以下指令安裝:
brew install exiftool使用起來很簡單,在想處理的目錄開啟終端機,執行以下指令即可,子目錄裡的相片也會一併套用修正:
exiftool -r "-FileModifyDate < DateTimeOriginal" ./提示
-r 表示要處理子目錄裡的檔案,-FileModifyDate < DateTimeOriginal 表示用原始建立時間取代最後修改時間,./ 表示處理當前目錄。
結語
講了一堆,不知道看到這裡會覺得 JXL 好棒棒還是好麻煩?lol 個人覺得這個格式前途無量啦,一些特性真的很香。隨著新版解碼器 jxl-rs 的完成度愈來愈高,支援度應該很快會有滿大的進展,連曾經拒絕過 JXL 的 Google,近期都重新在 Chrome 加回了實驗性支援。但當前確實需要做些妥協才能用,想要現在就有廣泛的相容性,不想賭未來的話,還是建議保守一點選擇 AVIF 囉。

評論