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 等設定。
使用說明
- 選擇「編碼」或「解碼」,在左邊輸入文字或 Base64,右邊會即時顯示結果;中文、emoji 都以 UTF-8 處理。
- 要把檔案或圖片轉成 Base64,按「開啟檔案」選擇檔案;需要放進網址或 JWT 時勾選「URL-safe」。
- 解碼結果是文字就直接顯示,是圖片會出現預覽,其他檔案按「下載」存檔;按「交換」可把結果搬回輸入框反向轉換。
實際範例
中文編碼:「你好」用 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 內容;這只是解碼,無法驗證簽章是否有效。
參考來源
- RFC 4648: The Base16, Base32, and Base64 Data Encodings — IETF
- RFC 2397: The "data" URL scheme — IETF
- Base64 — MDN Web Docs