使用方法
- 把 Base64 文字或 data:image/jpeg;base64 URI 貼上到輸入框。
- 確認預覽、識別出的格式和圖片尺寸。
- 下載格式已預設選中 JPG。拖動品質滑塊:數值越高細節越多,數值越低檔案越小。
- 下載 .jpg 檔案。如果想原封不動地保留已有的 JPEG,請改選「原始檔案」。
Base64 JPEG 長什麼樣
所有 JPEG 檔案都以位元組 FF D8 FF 開頭,因此其 Base64 總是以 /9j/ 起始。後面的字元還能透露檔案來源:/9j/4AAQSkZJRg 是普通的 JFIF 圖片,/9j/4Q 通常表示由相機或手機寫入的 Exif 頭。移動應用上傳、表單提交、CMS 匯出、郵件附件以及 REST 介面中的照片欄位,都常見 Base64 JPEG。
JPG 和 JPEG 是同一種格式,較短的副檔名源於 MS-DOS 時代副檔名最多隻能有三個字元的限制。正確的 MIME 型別是 image/jpeg。本工具讀取的是位元組本身,所以即使 data URI 標成 image/jpg 或 image/png,也能正確解碼。
品質、透明背景與後設資料
JPEG 是有損格式,每重新編碼一次都會多損失一些細節。如果輸入本來就是 JPEG,而你只需要拿到檔案,請選擇原始,這樣就不會再壓縮一遍。需要把 PNG、WebP 等格式轉成 JPEG,或者想縮小一張大照片時,再使用 JPG 選項。品質設在 80% 到 90% 左右,通常能在體積和清晰度之間取得平衡。
用 Node.js 解碼 Base64 JPEG
const fs = require('fs');
// 如有 data URI 字首,先去掉
const b64 = input.replace(/^data:[^,]+,/, '');
fs.writeFileSync('photo.jpg', Buffer.from(b64, 'base64'));
如需反向轉換,JPG 轉 Base64 可以把照片編碼為字串或 data URI。
常見問題
JPG 和 JPEG 有區別嗎?
image/jpeg。如果某個程式只認其中一種,直接改副檔名即可。為什麼透明背景變成了白色?
JPEG 無法儲存透明資訊,所以轉換器會在編碼前把透明像素填充為白色。想保留透明背景,請選擇 PNG 或 WebP。
怎樣避免畫質損失?
如果 Base64 資料本身就是 JPEG,請以「原始檔案」格式下載,得到完全相同的位元組。重新編碼為 JPG 時,即使品質設得很高,也總會帶來一些損失。
照片會保留 Exif 資訊嗎?
只有選擇「原始檔案」時才會保留。轉換得到的 JPG 只包含像素資料,這也是分享照片前去除位置資訊的簡便方法。