Base64 編碼解碼

免費 Base64 線上編碼解碼:中文以 UTF-8 正確轉換、支援 URL-safe,檔案、圖片可轉 Base64,解出的圖片可預覽下載。免註冊,資料不上傳。

  • 中文不亂碼
  • URL-safe
  • 檔案圖片互轉
  • 資料不上傳

資料只在你的瀏覽器中處理,不會上傳也不會儲存。

🔒 所有計算都在你的瀏覽器內完成,資料不會上傳到任何伺服器。

什麼時候會用到

  • 網頁嵌入小圖:把 icon 或小圖轉成 Base64,放進 HTML 或 CSS 的 data URI,少一次網路請求。
  • 查看 JWT 內容:JWT 中間那段是 URL-safe Base64,解碼後就能看到裡面的資料。
  • API 與郵件除錯:把 API 回傳或 email 原始碼裡的 Base64 解回文字或檔案。
  • 設定檔與認證:把帳密或憑證轉成 Base64,填進 HTTP Basic 認證或 Kubernetes Secret 等設定。

使用說明

  1. 選擇「編碼」或「解碼」,在左邊輸入文字或 Base64,右邊會即時顯示結果;中文、emoji 都以 UTF-8 處理。
  2. 要把檔案或圖片轉成 Base64,按「開啟檔案」選擇檔案;需要放進網址或 JWT 時勾選「URL-safe」。
  3. 解碼結果是文字就直接顯示,是圖片會出現預覽,其他檔案按「下載」存檔;按「交換」可把結果搬回輸入框反向轉換。

實際範例

中文編碼:「你好」用 UTF-8 是 6 個位元組,編碼後是 5L2g5aW9(8 個字元)。每 3 個位元組會變成 4 個 Base64 字元,所以 6 個位元組剛好 8 個字元、不需要補 =。

URL-safe:「<<???>>」共 7 個位元組,標準 Base64 是 PDw/Pz8+Pg==,勾選 URL-safe 後變成 PDw_Pz8-Pg,可以直接放進網址;把它貼到解碼模式,一樣還原成 <<???>>。

圖片還原:把 data:image/png;base64,iVBORw0KGgo… 這段 1×1 像素 PNG 的 data URI 整段貼到解碼模式,工具會自動去掉前綴,解出 70 個位元組並辨識為 PNG,顯示預覽,按「下載」存成 decoded.png。

結果怎麼看

  • 編碼完成時顯示「18 bytes → 24 字元」這類訊息:前者是 UTF-8 位元組數(中文一字通常 3 個位元組、emoji 4 個),後者是 Base64 長度,約為位元組數的 4/3 倍並補到 4 的倍數。
  • 結尾的 = 是補位用的,可能有 0~2 個;URL-safe 格式通常把它省略,不影響解碼。
  • 解碼結果是合法的 UTF-8 文字就直接顯示;否則當作檔案,依檔頭辨識 PNG、JPEG、GIF、WebP、PDF、ZIP,圖片會顯示預覽。
  • 解碼失敗時會指出第幾行第幾欄有不合法的字元,常見原因是複製時夾帶了引號、反斜線或中文標點。

原理與計算方法

  • 文字先用 UTF-8 轉成位元組,每 3 個位元組(24 位元)切成 4 組 6 位元,對應 RFC 4648 規定的 64 個字元(A–Z、a–z、0–9、+、/),最後不足 3 個位元組時用 = 補齊。
  • URL-safe 依 RFC 4648 第 5 節,把 + 換成 -、/ 換成 _,並去掉結尾的 =,可以安全放在網址與檔名中。
  • 解碼時自動忽略空白與換行、去掉 RFC 2397 的 data URI 前綴(data:…;base64,),同時接受標準與 URL-safe 字元,缺少的 = 也會自動補上。
  • 解出的位元組若是合法 UTF-8 且除了 Tab 與換行外沒有控制字元,就當作文字顯示;否則當作二進位檔案處理。

適用限制

  • Base64 只是編碼不是加密,任何人都能解回原文,不能用來保護密碼或個資。
  • 檔案編碼上限為 10 MB,Base64 輸出會比原檔大約三分之一。
  • 文字一律以 UTF-8 處理;原始資料若是 Big5、Shift_JIS 等其他編碼,解碼後會被當作二進位,請下載後用對應編碼開啟。
  • 只辨識常見的幾種檔案類型,其他格式下載的副檔名是 .bin,需要自行改名。

常見問題

為什麼 Base64 解碼出來是亂碼或顯示成二進位?

最常見的原因是原始資料不是 UTF-8 文字,例如 Big5 編碼的舊資料,或本來就是圖片、壓縮檔等檔案。本工具遇到非 UTF-8 的內容會改成二進位顯示,你可以按「下載」存檔後用適合的程式開啟。

URL-safe Base64 是什麼?什麼時候要用?

標準 Base64 的 + 和 / 在網址裡有特殊意義,URL-safe 版本改用 - 和 _,並省略結尾的 =。JWT、網址參數、檔名常用這種格式。解碼時本工具兩種都能自動辨識,不用另外設定。

圖片轉成 Base64 後要怎麼放進 HTML 或 CSS?

按「開啟檔案」選圖片,複製輸出後在前面加上 data:image/png;base64,(JPEG 改成 image/jpeg),例如 <img src="data:image/png;base64,iVBOR...">。反過來,把整段 data URI 貼到解碼模式也能直接還原成圖片。

我的資料會被上傳嗎?

不會。編碼、解碼、檔案讀取與圖片預覽都在你的瀏覽器裡完成,資料不會傳到伺服器,也不會被儲存。

Base64 是加密嗎?

不是。Base64 只是編碼方式,任何人都能解回原文,不能用來保護密碼或機密資料。

為什麼轉成 Base64 後檔案變大?

Base64 把每 3 個位元組變成 4 個字元,所以大小約增加 33%,因此只適合放小檔案。

怎麼看 JWT 裡面的內容?

JWT 由三段組成、以 . 分隔。選「解碼」並勾選「URL-safe」,貼上中間那段就能看到 JSON 內容;這只是解碼,無法驗證簽章是否有效。

參考來源