ByteScope

PNG to GIF

把 PNG 擠進 GIF 的 256 色調色盤 — 如果原檔是動畫 PNG,每個影格和它的間隔都會留著。

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

轉檔為
調整尺寸
調色板
循環
fps

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

注意:GIF 限制為 256 色與單色透明邊緣,最適合像素畫與小型圖示,不適合照片。動態圖片(GIF / WebP / APNG / AVIF)會保留所有影格,調色板、循環與 fps 設定皆適用 — 共享調色板配合變更區域影格可縮減檔案大小,單張影格獨立調色板則色準更高。

拖放圖片至此處

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

為什麼要把 PNG 轉成 GIF?

PNG 轉成 GIF 會失去什麼

先掉的是顏色,而且掉得不含蓄。每個像素都得重新塞進最多 256 色的調色盤,上限由上面的滑桿決定;調色盤由 @tools/core-image 的量化器挑出來,除非你把 dithering 關掉,否則會用 Floyd–Steinberg 誤差擴散去鋪。一張本來用上好幾萬種顏色的照片改用 256 色重畫,天空和膚色會浮出色帶,誤差擴散再拿細碎的點把色帶蓋掉。關掉 dithering 點就沒了,換成邊界分明的色塊。本來顏色就少的平面插畫、像素圖和畫面截圖,幾乎看不出差別。

透明度留得住,但只留一個位元。減色之前會先把 alpha 色版以 128 為界二值化:比這更不透明的像素變成完全不透明,比這更淡的直接整個消失;夾在中間的半透明像素,在做這個判斷之前就已經先和設定裡的背景色合成掉了。所以柔順的去鋸齒邊緣和陰影會變成階梯狀的輪廓,而且工具一找到這種像素就會跳警告。只要畫面裡有透明,調色盤就得留一格給它,真正能畫圖的只剩 255 色。

反過來說,動畫不會消失。只要瀏覽器的 ImageDecoder 讀到不只一個影格,轉檔就走動畫路線:先掃過所有影格取樣顏色,做出一份共用的全域調色盤,再只寫出每個影格有變動的那一塊,原本的顯示間隔和循環設定都照抄。GIF 真正完全裝不下的是元資料。整個格式裡沒有 ICC 色彩描述檔、沒有 EXIF,也沒有超過 8 位元的深度,所以 16 位元的母檔和 Display P3 標記,在輪到調色盤之前就已經不見了。

實測時檔案大小怎麼變

2026-09-12,apps/web/scripts/measurePairs.ts 量的是從釘住 commit 的 libheif 範例做出來的 1280 × 854 PNG,跑過「最佳化 (oxipng)」之後是 1,689,485 位元組。這個工具預設把那個選項關著。用 256 色、Floyd–Steinberg、白底轉成 GIF 得到 792,677 位元組,大約少 53%。轉進一個無損格式卻砍掉一半,聽起來矛盾,但省下來的其實是顏色本身:GIF 只是把剩下的東西原樣存好。調色盤再往下壓檔案會更小,色帶也會同步變明顯;dithering 則是點狀雜訊,LZW 壓不動它,反而會把檔案推大。動畫是每個影格都要錢,這個比例完全套不上去。

什麼時候不該把 PNG 轉成 GIF

照片除非對方真的只收 GIF,否則別走這條路。256 色在任何調色盤設定下都是看得出來的降級,WebP 和 AVIF 用少得多的位元組就裝得下全部顏色。邊緣要保持柔順的 logo 也不適合:一個位元的判斷會留下鋸齒,如果素材當初是襯在別的顏色上做的,邊緣還會留一圈色暈。16 位元母檔、要送進 app 圖示流程的素材、之後還要再編輯的檔案,情況都一樣。真正適合的是像素圖和平面插畫、想用一個每個聊天視窗都會自動播放的格式丟一段短動畫、給吃不下新格式的郵件範本,以及那些相容清單停在九〇年代的機器和軟體。

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

常見問題

動畫 PNG 轉成 GIF 還會動嗎?

會。影格不只一個的時候,工具會做出一張動畫 GIF,顯示間隔和循環設定都照原本的走;整段動畫共用一份調色盤,每個影格只寫出有變動的部分。轉完後的注記會告訴你留下了幾個影格。

PNG 的透明邊緣為什麼在 GIF 裡變成鋸齒?

GIF 的透明度只有一個位元,每個像素只能是完全看得見或完全消失。alpha 色版會以中間值二值化,半透明的像素還會先和背景色合成,所以本來柔順的輪廓就變成一階一階的。

照片用 256 色夠嗎?

幾乎都不夠。一般照片用到的顏色遠超過調色盤裝得下的量,漸層會出現色帶,dithering 再拿看得見的點狀紋理去蓋住色帶。這是實實在在的降級,不是壓縮選項,所以只在對方只收 GIF 的時候才選它。

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

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

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

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

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

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

轉檔會讓畫質變差嗎?

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