✓ 輸出檔案已完全移除 EXIF、GPS 等所有元資料。
拖放圖片至此處
或點擊瀏覽 — PNG, JPEG, WebP, GIF, HEIC, AVIF, SVG — 亦可在頁面任意處貼上圖片(Ctrl+V)
把 iPhone 照片搬到瀏覽器真的顯示得出來的編碼上,而且不會像走 JPG 那樣把檔案撐大。
檔案不會離開你的瀏覽器 — 全部在本機處理。
✓ 輸出檔案已完全移除 EXIF、GPS 等所有元資料。
拖放圖片至此處
或點擊瀏覽 — PNG, JPEG, WebP, GIF, HEIC, AVIF, SVG — 亦可在頁面任意處貼上圖片(Ctrl+V)
這兩個檔案看起來像親戚,某種意義上也真的是:開頭都有一個 ftyp 盒子,都是 ISO-BMFF,這個轉檔器分辨它們靠的也是同一支函式,去讀相容品牌清單而不是信副檔名。這種相似會讓人以為轉檔只是換包裝 —— 把編過的畫面從一個殼裡搬到另一個殼裡,什麼都不會少。不是這樣,而且辦不到。來源殼裡的編碼資料是 HEVC,目標殼裡的是 AV1,再怎麼改寫盒子也不會讓其中一個變成另一個。畫面會由內建的 libheif 一路解到像素,再從頭編一次,所以重新編碼的每一項代價都原封不動地跟著來。
而且容器裡通常不只裝一張圖,能上路的只有其中一張。解碼器會把它找到的每一張都交出來(下面實測用的樣本裡就有兩張),轉檔器取第一張,並且把這件事告訴你。連拍的張數、影像序列、縮圖、深度等輔助影像都留在原檔裡。Apple 的 Live Photo 更進一步:動態是裝置上的另一個檔案,這個頁面根本收不到它,所以你下載到的是靜態畫面,手機裡那一組維持原樣。
最後掉的是精度,而且它在編碼器登場之前就掉了。libheif 交回來的是 8 位元 RGBA 的緩衝區,所以一張用 10 位元階調和 HDR 轉換曲線拍下的照片,送到 AV1 編碼器手上時已經被壓成 8 位元 —— 目標格式明明裝得下原本的深度,卻一次也沒被拿出來用。內嵌的 ICC 色彩描述檔不會複製,EXIF 也不會,所以拍攝時間、鏡頭、曝光和 GPS 都不會出現在結果裡。
2026-09-12,腳本解開釘住 commit 的 libheif 範例 —— 1280 × 854、兩張影像、718,114 位元組 —— 再把第一張以品質 85、速度 8 編碼:491,861 位元組,大約少 32%。這和同一個編碼器面對已經壓過的 JPG 或 WebP 時方向剛好相反,原因值得知道:這裡編碼器拿到的是解碼後的原圖,不是別的編碼器處理過的畫面,所以它不必替別人的壓縮痕跡花位元。還有一個旁證說明這筆實測是真的:這個數字和 PNG 那一列一模一樣,因為那一列的 PNG 只是同一批像素的無損來回。一張 1200 萬像素的手機照片,編碼時間會比這個樣本長上不少。
對方打得開 HEIC 就別轉。Apple 自家的 app 和近年的手機都原生吃得下,轉了什麼也沒賺到。需要 EXIF 的時候也一樣:日期、地點、鏡頭資料在結果裡全都不見,要當證據或帶著來源紀錄的照片不該被剝乾淨。想留著能播的 Live Photo、容器裡有之後可能會用到的連拍或深度圖、這是你唯一一份還要調亮部的母檔 —— 這幾種都留著。如果目標是舊的作業系統、印刷廠,或是收件清單早於 AV1 的表單,就選 JPG:檔案比較大,但到哪裡都通。要把 iPhone 照片放到自己管理的頁面上,這裡就是對的去處。
轉換完全在你的瀏覽器內進行 — 不上傳、不排隊、無浮水印。想放幾個檔案都行,可逐一下載,也能打包成 zip。
不是。兩種格式共用 ISO-BMFF 這個外殼,裡面的編碼卻分別是 HEVC 和 AV1,所以畫面要解到像素再重編一次。那代表多了一道有損工序,元資料和其他影像沒辦法直接跟過去的原因也在這裡。
解碼器交出來的第一張,轉完之後畫面上會寫明這件事。連拍、序列、縮圖和深度圖之類的輔助影像都留在原檔裡。如果你要的是另一張,請在轉檔之前把它取出來,不要等轉完才想辦法。
留不住。解碼器交回來的是 8 位元 RGBA,所以深度在編碼器被呼叫之前就沒了 —— 即使目標格式本身完全存得下。在手機上看起來連續的高光收尾,轉完之後可能會出現一圈一圈的色帶。
不會。轉換在你的瀏覽器內使用 canvas API 和 Web Worker 完成 — 檔案不會離開你的裝置。沒有上傳步驟、不用排隊,檔案大小也只受限於你電腦的記憶體。
不會 — 而這正是特色之一。透過 canvas 重新編碼會移除所有中繼資料:GPS 位置、相機型號、時間戳記和色彩描述檔。輸出只包含像素,而這通常正是你公開分享圖片前想要的結果。
可以。拖放或貼上任意數量的檔案;每個檔案都會在背景轉換,各自有進度顯示和下載按鈕,也可以把全部內容打包成 .zip 一次下載。
看你選的目標格式。不管來源和目標是哪兩種格式,轉換器一律先解碼成原始像素再重新編碼,中繼資料也是這樣被移除的。目標是無損格式(PNG,以及在 256 色限制內的 GIF)時,像素和解碼出來的完全一樣;目標是 JPEG、WebP 或 AVIF 時,則由品質滑桿控制取捨,而且來源本來就是有損檔的話,會再多疊一層損失。