跳至主要内容

Base64 解碼

​

結果

把 Base64 貼進輸入框就會即時解碼:是文字就直接顯示(UTF-8,中文不會變亂碼);是圖片或其他檔案,會判斷檔案類型、顯示預覽,並提供下載檔案。data: 開頭的 data URI、URL-safe 格式、中間有換行都能直接貼上。要把文字或圖片轉成 Base64,切到上方的「編碼」分頁,或使用 Base64 編碼。所有轉換都在你的瀏覽器裡完成,資料不會上傳。


如何使用 Base64 解碼​

  1. 把 Base64 字串貼到輸入框,下方立刻顯示解碼結果,例如 5L2g5aW9 會解成「你好」。
  2. 如果內容不是正確的 Base64(例如有不允許的字元、長度不對),輸入框下方會顯示錯誤原因。
  3. 如果解出來是圖片、PDF、ZIP 等檔案,會顯示「二進位資料」和檔案類型,圖片可以直接預覽,按「下載檔案」就能存成檔案。
  4. 解出文字後,按「複製」複製結果,或按「帶到編碼」重新編碼比對。

怎麼判斷一段文字是不是 Base64​

  • 只包含 A~Z、a~z、0~9、+、/(URL-safe 版本是 -、_),結尾可能有 1~2 個 =。
  • 去掉換行和空白後,長度通常是 4 的倍數。
  • 常見的開頭可以看出內容類型:
開頭內容通常是
iVBORw0KGgoPNG 圖片
/9j/JPEG 圖片
R0lGODGIF 圖片
JVBERi0PDF 文件
UEsDBZIP 壓縮檔(也包含 docx、xlsx)
eyJJSON,例如 JWT 的 header

Base64 解碼失敗或出現亂碼的原因​

  • 前面多了其他文字:例如 data:image/png;base64,、Basic 這類前綴。本工具會自動去掉 data URI 前綴,其他前綴要手動刪掉。
  • 其實不是 Base64:例如十六進位字串、已經加密過的內容,解出來會是看不懂的位元組。
  • 內容本來就不是文字:圖片、壓縮檔解碼後本來就是二進位資料,要存成檔案才能開啟,本工具會自動改成提供下載。
  • 字元編碼不同:本工具用 UTF-8 解讀文字;如果原本是用 Big5 編碼的中文,解出來會是亂碼。
  • 字串被截斷:從 log 或網頁複製時少了一段,長度就會不對。

Base64 轉圖片、檔案​

把圖片的 Base64(或 data:image/…;base64, 開頭的 data URI)貼上後,工具會辨識出 PNG、JPEG、GIF、WebP、ICO、BMP 等格式並顯示預覽,按「下載檔案」就會存成對應副檔名的圖片。PDF、ZIP、MP3 等格式也能辨識;辨識不出來的檔案會存成 .bin。

怎麼查看 JWT 的內容​

JWT(JSON Web Token)由 3 段以 . 分隔的 Base64URL 組成:header、payload、簽章。把中間那一段 payload 貼進本工具,就能看到裡面的 JSON,例如使用者 ID、到期時間 exp(Unix 時間戳記,可以用 Timestamp 轉換器 換成日期)。

第三段簽章是加密運算的結果,解碼出來不是文字。另外,JWT 只是編碼不是加密,任何人都能看到 payload,所以不要把機密資料放在 JWT 裡。

各程式語言的 Base64 解碼寫法​

語言/工具Base64 轉文字(UTF-8)
JavaScript(Node.js)Buffer.from(b64, 'base64').toString()
JavaScript(瀏覽器)new TextDecoder().decode(Uint8Array.from(atob(b64), (c) => c.charCodeAt(0)))
Pythonbase64.b64decode(b64).decode()
Javanew String(Base64.getDecoder().decode(b64), StandardCharsets.UTF_8)
C#Encoding.UTF8.GetString(Convert.FromBase64String(b64))
PHPbase64_decode($b64)
Linux/macOSbase64 -d file.txt

解 URL-safe 格式時,Python 用 base64.urlsafe_b64decode()、Java 用 Base64.getUrlDecoder()、Node.js 用 Buffer.from(b64, 'base64url');缺少結尾 = 的字串,有些語言要先補回 = 才能解碼。

常見問題​

Base64 解碼出現亂碼怎麼辦?​

先確認內容是不是文字:圖片、壓縮檔解碼後本來就不是文字,要存成檔案才能開啟。如果確定是文字,可能是原本用了 UTF-8 以外的編碼(例如 Big5),或字串前面多了前綴、複製時被截斷。

怎麼把 Base64 轉回圖片?​

把圖片的 Base64 或 data URI 貼進本工具,會自動辨識圖片格式並顯示預覽,按「下載檔案」就能存成 PNG、JPEG 等圖片檔。

Base64 可以解密嗎?​

Base64 不是加密,所以不需要密碼,任何 Base64 都能直接解碼。但如果內容在編碼前已經用 AES 等方式加密過,解碼後得到的仍是加密後的資料,必須有金鑰才能還原。

什麼是 URL-safe Base64?可以直接解碼嗎?​

URL-safe Base64(Base64URL)把 + 換成 -、/ 換成 _,通常也省略結尾的 =,常見於網址和 JWT。本工具會自動辨識並補回 =,可以直接貼上解碼。

我的資料會被上傳嗎?​

不會。解碼完全在你的瀏覽器裡進行,內容不會傳到本網站或任何第三方伺服器。

其他實用工具
  如果覺得這個工具好用,歡迎分享給大家