Base64 → PNG · JPEG · GIF · WebP · SVG
Base64 を画像に。プレビューしてそのままダウンロード。
Base64 の画像文字列、または data:image/…;base64, 形式の URI 全体を貼り付けてください。画像が実際のピクセルサイズでプレビュータブに表示され、「ダウンロード」で正しい拡張子の本物の画像ファイルとして保存できます。デコードはブラウザ内で行われるため、画像がアップロードされることはありません。
更新日 · すべてブラウザ内で動作
Base64 を画像に変換ツール
JSON Web Token
オプション
Ctrl+Enter デコード Ctrl+Shift+C 結果をコピー 入力欄にファイルをドロップすると読み込めます
Base64 を画像に変換する方法
- 01
Base64 画像を貼り付ける
data: URI またはエンコード部分だけを入力欄に貼り付けます。改行、空白、data: の接頭辞は自動で取り除かれます。
- 02
プレビューを確認する
画像の種類はシグネチャバイトから判別され、幅・高さ・ファイルサイズとともにプレビュータブに表示されます。
- 03
画像をダウンロードする
「ダウンロード」を押すと、デコードしたバイト列が .png、.jpg、.gif、.webp、.svg ファイルとして保存され、どの画像編集ソフトでも開けます。
data: URI でも Base64 だけでも OK
HTML、CSS、JSON、メールに埋め込まれた画像は、たいてい
data:image/png;base64,iVBORw0KGgo… のような data: URI の形をしています。カンマより前はラベルで、
画像本体はその後ろの Base64 です。ここではどちらの形でも貼り付けられます。接頭辞があれば取り除かれますが、
デコーダーはファイルのシグネチャ自体も確認するため、image/png と書かれていても実は JPEG だった
という画像も正しく判別・保存されます。
画像を別の場所に埋め込むだけなら、デコードする必要はありません。data: URI はそのまま
<img src> や CSS の url() に使えます。デコードが必要になるのは、画像を編集したい、
中身を調べたい、API が実際に何を返したかを確認したいなど、ファイルそのものが必要なときです。
先頭の数文字で画像の種類を見分ける
Base64 は同じバイト列を常に同じ文字に変換するため、ファイル形式ごとに特徴的な書き出しがあります。 デコードする前から、Base64 文字列の中身を推測できます:
| 形式 | Base64 の先頭 | 先頭バイト(16 進) |
|---|---|---|
| PNG | iVBORw0KGgo | 89 50 4e 47 0d 0a 1a 0a |
| JPEG | /9j/ | ff d8 ff |
| GIF | R0lGOD | 47 49 46 38 (GIF8) |
| WebP | UklGR | 52 49 46 46 (RIFF) |
| SVG | PHN2Zy / PD94bWwg | <svg / <?xml |
| BMP | Qk | 42 4d (BM) |
| ICO | AAABAA | 00 00 01 00 |
/9j/ で始まれば JPEG、iVBORw0KGgo で始まれば PNG です。ログの 1 行やデータベースの
列以外に手がかりがないときに役立ちます。
プレビューが空白のままになる理由
- 文字列が途中で切れている。長い Base64 は、ログビューア、チャットアプリ、スプレッドシートの セル(Excel は 32,767 文字まで)で切れることがよくあります。ヘッダーはデコードできても画像データが欠けています。 元のデータから値をコピーし直してください。
- 画像ではない。出力の下にある「種類」を確認してください。PDF、ZIP、バイナリデータと表示されて いれば、Base64 の中身は別の種類のファイルです。ダウンロードしてください。
- 表示できない形式。ブラウザは HEIC や TIFF を表示できないため、デコード自体は正しくても プレビューはできません。ダウンロードして画像ビューアで開いてください。
- 2 回エンコードされている。出力がまた Base64(多くは「iVBORw」を再エンコードした
aVZCT1J3で始まる)なら、「入力へ送る」を押してもう一度デコードしてください。
コードで Base64 を画像ファイルに変換する
# Python
import base64
with open("image.png", "wb") as f:
f.write(base64.b64decode(b64_string))
// Node.js
fs.writeFileSync("image.png", Buffer.from(b64String, "base64"));
# Linux / macOS shell
base64 --decode image.b64 > image.png
コードでデコードする前に、data:image/…;base64, の接頭辞は取り除いてください。ほとんどの
デコーダーは接頭辞を不正な入力として扱います。そのほかの言語は
Base64 デコードのコード例で紹介しています。
その他のデコーダー
Base64 をデコードするその他の方法
よくある質問
Base64 を画像に変換:よくある質問。
Base64 を画像に変換するには?
このページの入力欄に Base64 文字列または data: URI を貼り付けてください。画像はブラウザ内でデコードされ、プレビュータブに表示されます。「ダウンロード」を押すと、正しい拡張子の PNG、JPEG、GIF、WebP、SVG ファイルとして保存できます。
data:image/png;base64, の接頭辞は削除する必要がありますか?
このツールでは不要です。接頭辞は自動で判別・除去され、実際の画像形式はデコードしたバイト列から確認されます。ただし自分のコードでデコードする場合は、通常カンマまでを含めて取り除く必要があります。
どの画像形式を Base64 からデコードできますか?
Base64 は単にバイト列を運ぶだけなので、どの形式でもデコードできます。PNG、JPEG、GIF、WebP、BMP、ICO、AVIF、SVG はブラウザでプレビューできます。HEIC や TIFF などブラウザが表示できない形式も、正しくデコードしてダウンロードできます。
画像はどこかにアップロードされますか?
いいえ。Base64 はこのページで動く JavaScript によってデコードされ、プレビューはローカルの blob URL から作られます。サーバーには何も送られないので、スクリーンショットやスキャン画像などのプライベートな画像にも安心して使えます。