Base64 轉 GIF

貼上包含 GIF 的 Base64,儲存為幀數完整的 .gif 檔案;也可以把靜態圖片轉換為 GIF,調色盤會根據圖片自身的顏色生成,最多 256 色。

完全在瀏覽器中執行,不會上傳任何資料。

使用方法

  1. 貼上 Base64 字串或 data:image/gif;base64 URI。
  2. 檢視預覽以及識別出的格式、尺寸和大小。
  3. 如果是 GIF 動圖,請把下載格式設為「原始檔案」以保留所有幀;如果是靜態圖片,保持 GIF 即可轉換。
  4. 下載 .gif 檔案。

Base64 中的 GIF 資料

GIF 檔案以文字 GIF89a 或較早的 GIF87a 開頭,編碼為 Base64 後分別是 R0lGODlh 和 R0lGODdh,因此開頭的六個字元 R0lGOD 是可靠的判斷依據。Base64 GIF 常見於嵌入 CSS 的載入動畫、郵件和網站統計中的透明追蹤像素,以及聊天或論壇資料庫中儲存的表情動圖。GIF 之所以常用於內嵌小圖,是因為 1 × 1 的透明 GIF 是最小的有效圖片檔案之一,只有幾十個位元組。

如何保留動畫

以原始格式下載時,解碼後的位元組會原樣寫出,所有幀、幀間隔和迴圈設定都會保留。所有轉換輸出都要先把圖片繪製到畫布上,而畫布只能容納一幅畫面,因此轉換時只保留第一幀,即使目標格式仍然是 GIF 也是如此。

這個限制也有用處:想把動圖的第一幀提取為靜態圖片,只要貼上 GIF,再下載為 PNG 或 JPG 即可。

GIF 轉換如何處理顏色和透明度

  • 256 色。每張 GIF 圖片最多隻能儲存 256 種顏色。轉換器使用中位切分法從圖片本身選取調色盤,對 Logo、圖示和簡單圖形效果很好;照片和平滑漸變則可能丟失細微的色階。
  • 1 位透明度。每個像素要麼完全透明,要麼完全不透明,柔和的陰影和抗鋸齒邊緣會變成硬邊。

如果色彩準確度或柔和的透明效果比 GIF 相容性更重要,PNG 或 WebP 是更好的選擇。

在命令列中只需一步即可解碼:base64 --decode spinner.txt > spinner.gif。

常見問題

為什麼 GIF 轉換後不動了?

轉換輸出只包含第一幀。請把下載格式設為「原始檔案」,按編碼時的樣子儲存 GIF 動圖。

為什麼轉換後的 GIF 有色帶或顆粒感?

GIF 最多隻能容納 256 種顏色,照片這類色彩豐富的圖片會被對映到最接近的調色盤顏色。如需完整色彩,請使用 PNG 或 WebP。

半透明像素會怎樣處理?

GIF 的透明只有「開」和「關」兩種狀態。每個像素會變成完全透明或完全不透明,柔和邊緣周圍可能出現鋸齒。

怎樣把 GIF 再轉回 Base64?
請使用 GIF 轉 Base64。使用原始檔案進行編碼,動畫才會包含在字串中。