Base64 編碼・解碼

在左邊輸入文字就會編碼成 Base64,在右邊貼上 Base64 就會解碼回原本的文字。中文以 UTF-8 轉換,不會出現亂碼。

檔案、圖片轉 Base64

將檔案拖曳到這裡,或點一下選擇 圖片、PDF 等任何檔案・建議 5MB 以下

Base64 編碼解碼使用方法

  1. 在一般文字欄輸入內容,右邊的 Base64 欄會立即顯示編碼結果。
  2. 反過來,在 Base64 欄貼上編碼字串,左邊就會顯示解碼後的原始文字。
  3. 圖片或 PDF 可拖曳到下方的檔案區,工具會產生 data URI 與 Base64 字串。
  4. 如果 Base64 內容是圖片或檔案,按下將 Base64 存成檔案即可還原成原本的檔案。

什麼是 Base64 編碼?

Base64 是把照片、檔案等二進位資料或中文等文字,改用英文大小寫字母、數字、+、/ 共 64 個字元來表示的方式。常見用途包括電子郵件附件、直接把圖片寫進 HTML/CSS 的 data URI、用 JSON 傳送檔案的 API,以及登入驗證用的 HTTP 標頭等。

由於每 3 個位元組會轉成 4 個字元,結果會比原始資料大約多出 33%。為了讓長度湊成 4 的倍數,結尾會加上 0~2 個 = 符號。

Base64 不是加密。任何人都能輕易解碼,因此不能拿來保護密碼或個人資料。

為什麼中文 Base64 編碼結果在不同網站會不一樣?

Base64 轉換的是位元組,而不是文字本身。同樣是「你好」,用 UTF-8 是 6 個位元組(5L2g5aW9),用台灣舊系統常見的 Big5 則是 4 個位元組(p0Gmbg==),結果自然不同。簡體中文的 GBK/GB2312 編碼又會得到另一種結果。

網頁與大多數 API 都使用 UTF-8,所以本工具也以 UTF-8 轉換。如果解碼後出現亂碼,很可能原始資料是 Big5、GBK 等其他編碼,或者根本不是文字而是檔案。

URL-safe Base64 與 data URI

一般 Base64 裡的 +、/、= 在網址(URL)中有特殊意義,直接使用可能出問題。URL-safe Base64 會把 + 換成 -、/ 換成 _,並省略結尾的 =。JWT 權杖就是最典型的例子。

data URI 是像 data:image/png;base64,iVBOR... 這樣,把檔案格式和 Base64 寫在一起,不需要另外的檔案就能把圖片直接嵌入 HTML 或 CSS。小圖示用這種方式可以減少請求次數,但大圖片容量會增加約 33%,還是以一般檔案存放較好。

Base64 編碼後的容量怎麼算?

Base64 結果的長度為 4 × ⌈原始位元組 ÷ 3⌉ 個字元。因為 3 個位元組會變成 4 個字元,大小約為原本的 4/3 倍。

  • 原始 3 位元組 → 4 個字元
  • 原始 100KB → 約 133KB
  • 原始 1MB 圖片 → 約 1.33MB

另外要注意,一個中文字在 UTF-8 中通常佔 3 個位元組,所以中文文字編碼後的 Base64 長度大約是字數的 4 倍。

JWT 權杖以點(.)分成三段,中間那段是用 URL-safe Base64 編碼的 JSON。只要貼上中間那段就能讀出內容,但本工具不會驗證簽章,因此無法判斷權杖是否可信。

常見問題

Base64 是加密嗎?
不是。它只是任何人都能還原的編碼(資料表示方式的轉換),沒有任何安全保護作用。
解碼後出現亂碼怎麼辦?
Base64 裡的資料可能不是文字,或是使用 Big5、GBK 等非 UTF-8 的編碼。如果是圖片或檔案,請按「將 Base64 存成檔案」試試看。
結尾的 = 符號是什麼?
那是把長度補成 4 的倍數的填充字元。本工具遇到少了 = 的 Base64 也會自動補齊後再解碼。
檔案會上傳到伺服器嗎?
不會。檔案轉換完全在瀏覽器內進行,不會傳送到外部。
圖片要怎麼轉成 Base64 放進網頁?
把圖片拖曳到檔案區,按「複製 data URI」後,貼到 <img> 的 src 或 CSS 的 url() 裡即可。
檔案大小有限制嗎?
建議 5MB 以下,最多可轉換 20MB 的檔案。檔案太大時 Base64 字串會很長,瀏覽器可能變慢。

最後更新:2026-10-07