デコード

Base64 から画像へ

文字列を貼り、画像を確認し、ファイルとして保存 —— 拡張子はバイト列そのものから決まります。

デコード

☞ すべてブラウザ内で処理 — アップロードは一切ありません

デコード結果

base64 文字列または data: URI を貼り付けると、ここに画像が表示されます。

ファイルに戻す

文字列を画像に戻す

Base64 は、テキストしか運べない場所を画像が通り抜けるための形です。CSS ファイル、JSON、メール本文、データベースの列。画像を取り戻すとは、その文字列をバイトに戻して実際のファイルとして渡すこと —— このページがするのはそれだけです。

生の文字列でも data: URI 全体でも構いません。接頭辞、改行、前後の引用符、さらには <img> タグごとでも問題ありません。デコード前に base64 の文字集合以外はすべて捨てられます。

3 ステップ

base64 を画像にデコードする手順

01

文字列を含むものをそのまま貼る

素の base64、data: URI、スタイルシートや JSON レスポンスからコピーした 1 行、どれでも構いません。空白と引用符は無視され、+ と / の代わりに - と _ を使う URL-safe 変種にも対応します。

02

プレビューを確認する

バイト列が有効ならすぐに画像が表示されます。表示されない場合はたいてい文字列が途中で切れています —— 途中で止まったコピーは、もう読み取れるファイルにはなりません。

03

正しい拡張子で保存する

形式は data: 接頭辞ではなく、ファイル自身のマジックバイトから判定します。両者が食い違うとき —— 接頭辞を別の場所からコピーした場合に起きます —— バイト列を優先し、その旨も表示します。

早わかり

Base64 デコードのよくある質問

data:image/png;base64, の部分は必要ですか?

いりません。あれば読み取りますが、実際の形式はデコードしたバイト列から判定します。素の base64 文字列でもまったく同じように動きます。

対応している形式は?

PNG・JPG・GIF・WebP・BMP・ICO・SVG です。前の 6 つはマジックバイトで判定し、SVG はテキストなので開始タグで判定します。

接頭辞は PNG なのに JPG で保存されたのはなぜ?

バイト列が JPEG だからです。接頭辞の食い違いはたいていコピー&ペーストの残りで、そのバイト列を .png として保存すると、どのビューアーでも開けないファイルになります。食い違いがあるときは画面に注記が出ます。

貼り付けても何も出ません。

ほぼ確実に文字列が途中で切れています。コンソールやエディターからコピーした際に切り落とされたものです。貼り付けた末尾が元の末尾と一致しているか、末尾の = も含めて確認してください。

データはアップロードされますか?

いいえ。文字列はブラウザ内でデコードされ、ファイルもローカルで生成されます。社内文書に埋め込まれたスクリーンショットが端末の外に出ることはありません。

サイズの上限はありますか?

ブラウザのメモリが許す範囲だけです。base64 は元のファイルより約 3 分の 1 大きいので、デコードが重くなるより先に貼り付けが重くなります。

逆方向はどうすれば?

「画像を Base64 に」ツールを使ってください。素の文字列と、そのまま使える data: URI の両方が得られます。

無料ですか?

はい、無料・透かしなしです。