UltKit

圖片轉 Base64 轉換器

把圖片檔案轉成一行文字,可貼進 HTML、CSS、JSON 請求或 Markdown 檔案;開頭已加上 data URI 前綴,貼上就能直接使用。

資料轉換器

或將CSV, TSV, TXT … 檔案拖曳到這裡 ·

每個檔案最大 95 MB· 最多 20 個檔案· 30 分鐘後刪除

輸出

檔案會在我們的伺服器上處理,並於 30 分鐘後刪除。

使用方式

  1. 1

    加入圖片

    將 PNG、JPG、GIF、WebP 或 SVG 檔案拖曳到上傳區,一次最多 20 個,每個檔案最大 95 MB。

  2. 2

    保留或移除前綴

    Data URI 前綴預設為開啟,因此結果會以 data:image/png;base64, 或對應的類型開頭。若 API 需要純 Base64 字串,請在進階設定中關閉。

  3. 3

    轉換並複製

    按下轉換為 Base64 文字,每張圖片都會下載一個 .txt 檔,可直接貼進你的程式碼。

上傳圖片並按下轉換為 Base64 文字,就會得到編碼成純字元的檔案,開頭為 data:image/…;base64,,可直接放進 img src 或 CSS 的 url()。圖片本身不會有任何改變。

圖片轉 Base64 的實用場合

Base64 定義於 RFC 4648(2006 年),將每 3 個位元組的二進位資料對應成 4 個字元,字元來自由 A–Z、a–z、0–9、+ 和 / 組成的 64 字元字母表。結果可通過任何為文字設計的管道。Data URI 規範則由 Larry Masinter 於 1998 年寫成 RFC 2397,讓瀏覽器能把這段文字當作檔案處理。

前端開發者會內嵌小圖示、載入動畫和預留圖片,讓頁面不需額外請求就能顯示。後端開發者會把圖片放進 JSON 傳送,因為包括視覺辨識與 OCR 服務在內的許多 API,都接受以 Base64 欄位傳入圖片。測試人員會把測試資料放在原始碼中,製作單檔 HTML 報告或 Markdown 筆記的人則會嵌入螢幕截圖,讓檔案在寄送或封存時仍保持完整獨立。

Base64 輸出長什麼樣子

以 Data URI 放在 img 標籤內的 1 × 1 透明 PNG(68 位元組)
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR4nGNgAAIAAAUAAXpeqz8AAAAASUVORK5CYII=" width="1" height="1" alt="透明像素">

PNG 圖示檔

24 KB

常見的工具列圖示組,96 × 96 px

大小增加 33%,品質完全不變

Base64 文字

32 KB

每 3 個位元組變成 4 個字元,再加上前綴

ANY I

任何圖片

此工具接受常見的圖片格式,包括 JPG、PNG、WebP、HEIC、GIF、BMP 與 TIFF。系統會自動從檔案偵測格式,因此您不需要知道圖片是哪一種類型。

Any image 轉檔工具

BASE64

Base64 編碼文字

Base64 是 RFC 4648 定義的編碼方式,可將任何二進位資料轉為由 64 個安全文字字元組成的字串。常用於以資料 URI 將圖片嵌入 HTML 與 CSS、在電子郵件中附加檔案,以及在 JSON 或 XML 中傳送二進位資料。編碼可完全還原,但會讓資料增大約 33%。Base64 不是加密,沒有任何安全性,任何人都能解碼。

壓縮方式
無損
透明度
–
動畫
–
推出年份
–
BASE64 轉檔工具

當圖片必須放進只能承載文字的地方時,就會轉成 Base64 文字:不需另外請求的 HTML 或 CSS 檔、API 呼叫的 JSON 欄位、測試用資料,或單一檔案的報告。

內嵌圖片何時對網頁有幫助,何時反而有害

內嵌可以省下一次請求,這在 HTTP/1.1 時代最有意義,因為當時瀏覽器對每個網站只會開少數幾條連線。在 HTTP/2 和 HTTP/3 的多工傳輸下,多幾個小請求的成本很低,好處因此縮小,缺點卻依然存在:編碼後的圖片無法單獨快取,每當 HTML 或 CSS 變動就得重新下載,還會拖慢所在檔案的解析。

合理的做法是只內嵌幾 KB 大小、且每個頁面都會出現的圖片,例如標誌或圖示集,其餘都以檔案提供。照片幾乎都不適合內嵌。如果你需要的其實是另一種檔案格式而不是文字,可以用圖片格式轉換。

Base64 圖片的優點

  • 單一獨立的 HTML、CSS 或 JSON 檔案
  • 微小圖示不需額外請求
  • 可安全放進 JSON、XML 等文字格式
  • 無損且可還原

Base64 圖片的代價

  • 比二進位檔案大約多 33%
  • 瀏覽器無法單獨快取
  • 許多電子郵件用戶端會封鎖這類圖片
  • 在程式碼差異比對中難以檢視

圖片轉 Base64 常見問題

Base64 和 data URI 有什麼不同?

Base64 只是編碼後的字元。Data URI 則是在這些字元前加上協定與類型,即 data:image/png;base64, 後面接著字元,瀏覽器才知道如何解碼並顯示。HTML 和 CSS 需要完整的 Data URI;多數 JSON API 只需要純 Base64 的部分。

圖片轉成 Base64 後會變大多少?

Base64 每 3 個位元組會寫成 4 個字元,所以文字大小約比原檔多三分之一,再加上簡短的前綴。30 KB 的 PNG 會變成約 40 KB 的文字。如果 HTML 或 CSS 以 gzip 壓縮傳輸,這部分額外增加的大小可以在傳輸時拿回一部分。

Base64 圖片可以用在電子郵件簽名嗎?

不可靠。Gmail 不會顯示 Data URI 圖片,不少桌面郵件程式也會將其移除,收件人只會看到破圖圖示。請將圖片放在網站伺服器上或以附件寄送,Base64 留給網頁和應用程式使用。

SVG 圖示需要轉成 Base64 嗎?

可以,但 SVG 本身就是文字。與其用 Base64 編碼,直接對標記做 URL 編碼通常能得到更短的 Data URI,而且內容仍可閱讀。若圖片比小圖示大,改用瀏覽器可快取的獨立 SVG 檔案會更好。

Base64 文字可以轉回圖片嗎?

可以。這種編碼是無損且完全可逆的,解碼後會得到與原檔完全相同的位元組。每種程式語言都內建解碼器,把完整的 Data URI 貼到瀏覽器網址列也能顯示圖片。

編碼會影響圖片品質嗎?

不會。Base64 只改變位元組的寫法,不會改變像素。想讓字串變短,請先縮小圖片,例如用壓縮圖片到 20 KB,再對較小的檔案編碼。