Skip to content

画像 Base64 変換ツール

画像を Base64 データURIに変換 — PNG・JPG・GIF・WebP・SVG・ICO 対応。HTML・CSS・Markdown・JSON 形式で出力&コピー。完全プライベートでアップロード不要。

トラッキングなし ブラウザで動作 無料
すべての処理はブラウザ内で完結します。画像がデバイスの外に出ることはありません。

画像をここにドロップ、貼り付け、またはクリックして選択

PNG · JPG · GIF · WebP · SVG · ICO · BMP — 完全にブラウザ内で変換

データURI の正確性、正確なサイズメトリクス、MIME 検出、インライン化パフォーマンスガイダンスについてレビュー済み — Go Tools エンジニアリングチーム · Jun 5, 2026

Base64 画像(データURI)とは?

Base64 画像とは、バイナリのバイト列を Base64 アルファベット(A〜Z、a〜z、0〜9、+ と /)を使って印字可能 ASCII 文字の文字列に再エンコードした画像のことです。data: URI スキームでラップすると——data:image/png;base64,iVBORw0KGgo…——その文字列は URL が期待される場所ならどこにでも現れます。HTML の img src、CSS の background-image、メール本文、JSON ペイロード内のフィールドなどです。ブラウザはその場でデコードし、別個のネットワークリクエストなしで画像を表示します。これが Base64 画像が「インライン」または「埋め込み」画像と呼ばれることがある理由です。

このエンコーディングが存在するのは単純な理由からです。多くのシステムは任意のバイナリではなくテキストを運ぶように作られています。HTML、JSON、メールヘッダー、URL はすべて文字を期待し、生の画像バイトにはそれらを壊す制御コードや区切り文字が含まれます。Base64 は 3 つのバイナリバイトごとに 4 つの安全なテキスト文字へマッピングし、データが転送中も無傷で生き残ることを保証します。代償はサイズです。テキスト表現は元のバイナリより約 33% 大きく、それを含むドキュメントとは独立してキャッシュできません。

そのトレードオフが、Base64 画像が理にかなう場面を決めます。1 つのスタイルシートで使う小さなアイコンなら、インライン化は往復を一つ省き、サイズのペナルティは無視できます——明らかに有利です。すべてのページで再利用される 200 KB のヒーロー写真なら、インライン化はすべてのページを肥大化させ、ブラウザのキャッシュを無効にし、読み込みごとにデコードの CPU を消費します——明らかに不利です。現代の HTTP/2 時代のガイダンスは、小さく安定したアセットだけをインライン化し、それ以外はすべて通常のキャッシュされるファイルとして配信することです。このツールはお使いの画像の正確な数値と信号機式の推奨を提示するので、判断は迷信ではなくデータに基づきます。

逆の操作——Base64 文字列を表示・ダウンロード可能な画像に戻すこと——は、スタイルシートのデータURI をデバッグしたり、API レスポンスを調べたり、設定ファイルに埋め込まれたアセットを復元したりするときに同様に役立ちます。Base64 → 画像 タブに切り替えるか、専用の Base64 画像デコーダーを開いてください。

<!-- The same 1×1 transparent PNG, four ways -->

<!-- HTML -->
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==" alt="pixel">

/* CSS */
.badge {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==");
}

<!-- Markdown -->
![pixel](data:image/png;base64,iVBORw0KGgo…)

// JSON
{ "mime": "image/png", "data": "iVBORw0KGgo…" }

主な機能

ドラッグ・クリック・貼り付け

3 つの入力方法:ファイルをドロップ、参照して選択、または Ctrl+V でクリップボードから画像を直接貼り付け——スクリーンショットには最速のルートです。提供したものは何でも即座にエンコードされ、アップロードはありません。

6 つの出力形式

生の Base64、完全なデータURI、HTML 要素、CSS background-image ルール、Markdown 画像リンク、JSON オブジェクト。それぞれに専用のコピーボタンとダウンロードオプションがあり、必要な文脈にぴったり合ったスニペットがすぐ手に入ります。

ライブのサイズ&増加率メトリクス

メタデータバーには元のファイルサイズ、エンコード後の Base64 サイズ、そしてお使いの個別画像の正確な増加率が表示されます——一般的な「約 33%」ではありません。インライン化を決める前にインライン化の実際のコストがわかります。

インライン化アドバイスバッジ

信号機式の推奨がファイルサイズを読み取り、データURI が良い判断かを教えます。約 2 KB 未満は緑、約 10 KB までは黄色、それ以上は赤。HTTP/2 以降のコンセンサスをコード化しているので、しきい値を覚えておく必要はありません。

内蔵デコーダー

Base64 → 画像 タブが処理を逆転させます。文字列またはデータURI を貼り付けると、ライブプレビュー、デコードした寸法と MIME タイプ、そして元のファイルを再構築するダウンロードボタンが得られます。接頭辞の欠落や余分な空白にも寛容です。

一般的な形式すべて

PNG、JPG、GIF(アニメーション保持)、WebP、SVG、ICO、BMP——加えて対応環境では AVIF。生のバイトをそのままエンコードするので、透過・アニメーション・ベクターのスケーラビリティはすべて手つかずで生き残ります。

使用例

PNG をデータURIに(CSS / HTML にすぐ使える)

transparent-1x1.png(68 バイトの PNG)
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==

PNG をドロップすると、データURI タブに HTML の src や CSS の url() へそのまま貼り付けられる文字列が表示されます。メタデータバーには元のサイズ、Base64 サイズ、そして正確な増加率が示されます。

SVG アイコンを HTML にインライン化

icon.svg
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0i…" alt="icon">

HTML タブに切り替えると、すぐに貼り付けられる 要素が得られます。SVG に限っては、Base64 より URL エンコードの方が小さくなることが多いです。SVG が特別なケースである理由は FAQ をご覧ください。

JPG を埋め込んだ Markdown 画像

photo.jpg(12 KB)
![photo](data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ…)

Markdown タブは自己完結型の画像リンクを生成します。外部ファイルをホストできない README、GitHub の Issue、ノートブックなどで便利です。12 KB ではアドバイスバッジが黄色に変わります。利便性とページ重量のコストを天秤にかけてください。

画像を Base64 に変換する方法

  1. 1

    画像を追加

    ドロップゾーンに画像をドラッグ、クリックして参照、または Ctrl+V / Cmd+V でクリップボードから貼り付けます。PNG、JPG、GIF、WebP、SVG、ICO、BMP すべてに対応し、完全にブラウザ内でエンコードされます。

  2. 2

    出力形式を選ぶ

    タブから データURI、生の Base64、HTML 、CSS background、Markdown、JSON を選びます。メタデータバーでサイズ増加を、アドバイスバッジでインライン化する価値があるかを確認します。

  3. 3

    コピーまたはダウンロード

    コピーをクリックしてスニペットを取得、またはダウンロードでファイルとして保存します。逆の処理を行うには、Base64 → 画像 タブに切り替え、文字列を貼り付け、再構築された画像をダウンロードします。

よくある落とし穴

MIME タイプの欠落または誤り

データURI は正しいメディアタイプを宣言しなければブラウザが表示を拒否します。PNG をエンコードしながら image/jpeg とラベル付けする、またはタイプを完全に省くと、壊れた画像になります。このツールからデータURI または HTML 出力を直接コピーすれば、正しい接頭辞が自動で得られます。

✗ 誤り
data:base64,iVBORw0KGgo…
<!-- no MIME type — will not render -->
✓ 正しい
data:image/png;base64,iVBORw0KGgo…
<!-- correct: image/png -->

文字列内の空白や改行

一部のツールは RFC 2045 に従って Base64 を 76 文字で折り返し、コピー&ペーストで余分なスペースや改行が混入することがあります。HTML 属性や CSS の url() では、それらの改行が URI を無効にすることがあります。文字列を使う前に空白を除去してください——このツールのデコーダーは自動で行うので、Base64 → 画像 タブを経由するだけで整います。

✗ 誤り
data:image/png;base64,iVBORw0KGgoAAAANS
UhEUgAAAAEAAAABCAYAAAA…
<!-- embedded newline breaks the attribute -->
✓ 正しい
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAA…
<!-- single unbroken line -->

切り詰められた文字列(パディングの欠落)

Base64 文字列はゼロ・1・2 個の = パディング文字で終わります。末尾の =(または最後の数文字)を落とした部分コピーは、デコードできない文字列と壊れた画像をもたらします。貼り付けが表示されない場合は、末尾パディングを含めて値全体をコピーしたか確認してください。

✗ 誤り
…WjR9awAAAABJRU5ErkJggg
<!-- missing trailing == -->
✓ 正しい
…WjR9awAAAABJRU5ErkJggg==
<!-- complete with padding -->

大きな写真を Base64 化する

数百 KB の写真をエンコードすると、HTML や CSS を肥大化させ、単独でキャッシュできず、デコードが遅い巨大な文字列が生成されます。アドバイスバッジはまさにこのケースで赤になります。大きな画像は通常のファイルとして配信し、Base64 は小さなアセットに取っておき、まず圧縮してください。

✗ 誤り
/* 380 KB hero photo inlined into a global stylesheet */
.hero { background-image: url("data:image/jpeg;base64,/9j/…(½ MB of text)…"); }
✓ 正しい
/* Serve it as a cached file instead */
.hero { background-image: url("/img/hero.jpg"); }

一般的なユースケース

ロゴやアイコンを CSS にインライン化
小さな PNG や SVG アイコンをドロップし、CSS background-image スニペットをコピーしてスタイルシートに貼り付け、めったに変わらないアセットの HTTP リクエストを一つ削減します。約 2 KB 未満(緑のバッジを確認)に保ち、スタイルシートを軽量に維持してください。
HTML メールに画像を埋め込む
メールクライアントはリモート画像をブロックすることがよくあります。ロゴをデータURI としてエンコードし、 要素をテンプレートに貼り付けると、サーバーへの取得なしで表示されます。クライアント間でテストし、埋め込みは写真ではなく小さなアイコンに限定してください。
自己完結型の Markdown と README
画像をホストできないとき——GitHub の Issue、ノートブック、オフラインのドキュメント——Markdown 出力は画像をファイルに直接埋め込むので、テキストと一緒に移動します。小さな図やバッジに最適です。
JSON や API ペイロード内の画像
サムネイルを JSON ドキュメントや設定ファイルに入れる必要がありますか?JSON 出力はそのまま入れられる { mime, data } オブジェクトを提供し、デコーダーは反対側で画像を復元します。
データURI の素早いデバッグ
スタイルシートや API レスポンスに謎の data: URI を見つけましたか?Base64 → 画像 タブに貼り付けると、それが実際に何かを確認し、本当の寸法を読み、通常のファイルとしてダウンロードして詳しく調べられます。
単一ファイルのウィジェットとブックマークレット
ブックマークレットと埋め込み可能なウィジェットは外部依存ゼロで自己完結している必要があります。アイコンを Base64 でインライン化すれば、どこにドロップしても動作する 1 つのファイルにすべてが収まります。

技術的な詳細

Base64 エンコードの仕組み
Base64 は画像のバイナリストリームを 3 バイト(24 ビット)ずつ取り、4 つの 6 ビットグループに分割し、それぞれを 64 シンボルのアルファベットの 1 文字にマッピングします。入力長が 3 の倍数でないとき、1 つまたは 2 つの = パディング文字が余りを示します。この 3 対 4 の比率が、エンコード後のテキストが元より約 33% 大きくなる理由です。ツールは文字列長とパディングからデコード後のバイト長を直接計算するため、報告されるサイズの数値は推定ではなく正確です。
MIME 検出とマジックバイト
ファイルをエンコードするとき、その MIME タイプはブラウザの File オブジェクトから取得されます。data: 接頭辞のない生の Base64 文字列をデコードするとき、ツールは先頭の文字を調べます。それらは画像のマジックバイトに対応します:PNG は iVBORw0KGgo、JPEG は /9j/、GIF は R0lGOD、WebP は UklGR、SVG は PHN2Zy または PD94bWw。これにより、入力がむき出しのペイロードだけでも、デコーダーは正しいデータURI を再構築し、正しいファイル拡張子でダウンロードできます。
ローカル限定の処理
エンコードは FileReader API の readAsDataURL を使い、完全にブラウザ内で合成されたデータURI を返します。ダウンロード用のデコードは atob と Uint8Array でバイナリを再構築し、続いて Blob とオブジェクト URL を使います——いずれもネットワークは介しません。結果として、オフラインで実行でき、機密画像を信頼して扱えるツールになります。バイトがページから出ないからです。リクエストゼロの挙動はブラウザの開発者ツールで確認できます。

ベストプラクティス

小さく安定したアセットだけをインライン化
Base64 のスイートスポットは、めったに変わらず少数のページにしか現れない約 2 KB 未満のアセットです——アイコン、小さなロゴ、UI スプライト。約 10 KB を超えると、サイズのペナルティと失われるキャッシュが節約したリクエストを上回ります。HTTP/2 が追加リクエストを安価にした今は特にそうです。アドバイスバッジに従い、写真や大きなグラフィックは通常のキャッシュされるファイルとして配信してください。
SVG には URL エンコードを優先
SVG はテキストなので、Base64 にすると利点なく膨らみます。CSS や HTML に SVG をインライン化するときは、代わりにマークアップを URL エンコードしてください——通常より小さく、人間が読める状態を保ち、gzip/brotli でよりよく圧縮されます。Base64 SVG は特にそれを必要とするパイプライン用に取っておきましょう。URL エンコーダー/デコーダーがパーセントエンコードを扱います。
常に正しい MIME タイプを設定
データURI はその MIME タイプがコンテンツと一致したときだけ表示されます:image/png、image/jpeg、image/gif、image/webp、image/svg+xml。誤ったまたは欠けたタイプは、埋め込み画像が表示されない最大の原因です。このツールからコピーするとタイプは自動で設定されます。URI を手作業で組み立てる場合は接頭辞を再確認してください。
エンコード前に圧縮する
Base64 はファイルサイズに約 33% を上乗せするため、まずソースを縮小すると二重に効きます。エンコード前に画像を 画像圧縮ツールに通すか、適切な寸法で書き出して、できるだけ小さなデータURI にしてください。4 KB に圧縮された PNG は、ファイルとしてもインラインとしても 40 KB の元画像に勝ります。
プライバシーのために Base64 に頼らない
Base64 は簡単に元に戻せ、何の保護も提供しません。機密性の高い画像コンテンツを隠すために使わないでください——このページのタブを含め、誰でも即座にデコードできます。コンテンツを保護する必要があるなら、サーバー側で本物のアクセス制御と暗号化を使い、認証されたエンドポイント経由で画像を配信してください。

よくある質問

この画像 Base64 変換ツールは何をしますか?
ドロップ・貼り付け・選択した画像を読み込み、そのバイト列を Base64 文字列としてエンコードします。すべてブラウザ内で完結します。生の Base64、すぐに使えるデータURI(data:image/png;base64,…)、そして HTML 、CSS background-image、Markdown、JSON 用のコピー&ペースト用スニペットが得られます。メタデータバーには元のファイルサイズ、エンコード後のサイズ、正確な増加率(Base64 は約 33% 大きくなります)、ピクセル寸法、MIME タイプが表示されます。アップロードは一切行われません。エンコードは FileReader API を使ってローカルで実行されるため、スクリーンショット、社内アセット、未公開の画像にも安心して使えます。逆方向に変換するには、Base64 → 画像 タブまたは Base64 画像デコーダーをご利用ください。
画像はサーバーにアップロードされますか?
いいえ。すべての処理は FileReader API と JavaScript の文字列エンコードを使ってブラウザ内(クライアントサイド)で行われます。画像が送信・保存・記録されることは一切ありません。ブラウザの「ネットワーク」タブを開けば確認できます。画像のエンコード中にネットワークリクエストはゼロです。これにより、公開前の製品スクリーンショット、社内図、顧客アセット、NDA 対象のものなど機密素材にも安全です。アップロード制限によるファイルサイズの上限はなく、ブラウザと対象システムが快適に扱える Base64 文字列の大きさという実用上の限界があるだけです。
Base64 にすると画像はどれくらい大きくなりますか?
Base64 はバイナリデータ 3 バイトごとに 4 つの ASCII 文字としてエンコードするため、エンコード後の文字列は元のファイルより約 33% 大きくなります(さらにパディング数バイトと data: 接頭辞が加わります)。9 KB の PNG は約 12 KB のテキストになります。このオーバーヘッドは、大きな画像を Base64 にすべきでない最大の理由です。より多くのバイトを送ることになり、文字列が HTML や CSS に埋め込まれるため、その文字列を含むファイルが変更されるたびに再ダウンロードされ、独立してキャッシュできません。ツールはお使いの個別ファイルの正確な増加率をメタデータバーに表示するので、実際の数値で判断できます。
通常のファイルではなく Base64 画像を使うべきなのはどんなとき?
Base64(データURI として)は、キャッシュよりも別個の HTTP リクエストを避けることが重要な、小さくめったに変わらないアセットに適しています。CSS にインライン化する小さなアイコンやロゴ、HTML メールに埋め込む画像(多くのクライアントは外部画像をブロックしますがデータURI は表示します)、自己完結型でなければならない単一ファイルのウィジェットやブックマークレット、SVG スプライト、JSON/API ペイロード内に格納する画像などです。実用的な目安は、約 2 KB 未満で 1〜2 ページでしか使われない場合、インライン化が有利になることが多いということです。このツールのアドバイスバッジはまさにこの判断基準を反映しています。2 KB 未満は緑、10 KB までは黄色、それ以上は赤です。
Base64 画像を使うべきでないのはどんなとき?
大きいものやページ間で再利用するものには Base64 を避けてください。具体的な理由は 4 つあります:(1) 約 33% のサイズ増加により転送バイトが増える、(2) インライン画像は単独でキャッシュできず、それを含む HTML や CSS が変更されるたびに再ダウンロードされ、埋め込んでいるすべてのページで繰り返される、(3) 大きなデータURI のデコードは CPU とバッテリーを消費し、モバイルで顕著、(4) レスポンシブ画像(srcset/sizes)と遅延読み込みが使えなくなる。HTTP/2 は多数の小さなリクエストを安価に多重化するため、インライン化の本来の理由——リクエスト数の削減——はもはやほとんど当てはまりません。写真、ヒーロー画像、約 10 KB を超えるものには、通常のキャッシュされたファイルがほぼ常に速く読み込まれます。目的がより小さなファイルなら、まず 画像圧縮ツールに通してください。
HTML や CSS で Base64 出力をどう使えばいいですか?
HTML では、HTML タブに切り替えて生成された要素を貼り付けます:…。CSS では CSS タブを使います。データURI を background-image: url("data:image/png;base64,…") でラップします。どちらも URL が受け付けられる場所ならどこでも動作します——img src、CSS の background、mask-image、favicon の link タグなど。data: スキームはすべてのモダンブラウザでサポートされています。一つ注意点として、インライン HTML 内の非常に長いデータURI は可読性を損ない、CSS ではすべての訪問者に配信されるスタイルシートを肥大化させるため、インライン化は本当に小さなアセットに限定してください。
どの画像形式に対応していますか?
PNG、JPEG/JPG、GIF(アニメーション含む)、WebP、SVG、ICO、BMP すべてに対応し、ブラウザがデコードできる場合は AVIF にも対応します。ツールは画像を再描画するのではなく生のバイトをエンコードするため、アニメーション GIF はアニメーションのまま、透過 PNG はアルファチャンネルを保持し、SVG は完全にスケーラブルなまま保たれます。MIME タイプはファイル自体から読み取られ、生の Base64 をデコーダーに貼り付けた場合はデータのマジックバイトから推測されます。エンコード中に形式変換は行われません。出力は提供したファイルそのものを表します。
なぜ SVG は特別なケースなのですか?
SVG はバイナリではなく XML テキストなので、Base64 にするとかえって大きくなり、読みづらくなるだけで利点がありません。CSS や HTML に SVG をインライン化する場合、マークアップを URL エンコード(#、<、>、引用符など一部の文字をパーセントエンコード)する方が Base64 より小さくなることが多く、ソースが読みやすく gzip にも適しています。一部のパイプラインが必要とするため本ツールも Base64 SVG 出力を提供しますが、CSS を手作業で最適化しているなら URL エンコードされたデータURI を選んでください。URL エンコーダー/デコーダーがその手法に役立ちます。
Base64 は暗号化と同じですか?
いいえ。Base64 は暗号化ではなくエンコーディングです。鍵が不要で、誰でも完全に元に戻せます。テキストしか扱えないシステム(HTML、JSON、メールヘッダー、URL)を通じてデータが転送中に壊れないよう、安全な印字可能 ASCII 文字でバイナリデータを表現するために存在します。誰でも数秒で Base64 文字列を元の画像にデコードできます。ここの Base64 → 画像 タブでも可能です。機密性の高い画像コンテンツを隠したり保護したりする手段として Base64 を扱ってはいけません。秘匿性はゼロです。
Base64 画像をメールに埋め込めますか?
はい、この技術の優れた用途の一つです。多くのメールクライアントはプライバシーのため外部ホスティングの画像をデフォルトでブロックし、リモートロゴに依存するレイアウトを壊します。小さな画像をデータURI として埋め込めば、サーバーへの取得なしで即座に表示されます。トレードオフは、一部の古いクライアント(特定バージョンの Outlook など)でデータURI のサポートが不安定なこと、そして大きな埋め込みはすべての受信者がダウンロードするメッセージサイズを膨らませることです。埋め込み画像は小さく保ち——写真ではなくロゴやアイコン——対象のクライアントでテストしてください。
Base64 画像が表示されないのはなぜですか?
最も多い原因は、data: 接頭辞の MIME タイプの欠落や誤り(PNG には image/png、JPG には image/jpeg、SVG には image/svg+xml を使う)、文字列に誤って挿入された空白や改行、末尾パディング(= または ==)を落とした切り詰めコピー、URL が期待される場所に data:…;base64, 接頭辞なしの生の Base64 だけを貼り付けたこと、などです。このツールのデコーダーは寛容で——空白を除去し、接頭辞ありなしどちらの入力も受け付け、画像のマジックバイトから MIME を推測します——ので、文字列を Base64 → 画像 タブに貼り付けるのが、データ自体が有効かどうかを確認する最速の方法です。

Base64エンコーダー&デコーダー

エンコーディングとフォーマット

Base64のデコード・エンコードが無料でオンラインで行えます。リアルタイム変換、UTF-8・絵文字対応。100%ブラウザ上で動作しデータは外部に送信されません。登録不要。

Base64 画像変換ツール

エンコーディングとフォーマット

Base64 文字列やデータURIをブラウザ上で画像に戻します。プレビューし、寸法と MIME を確認して、PNG・JPG・GIF・SVG としてダウンロード。アップロード不要。

CSV to JSON 変換ツール

エンコーディングとフォーマット

CSVをブラウザ内で即座にJSONに変換。RFC 4180・型推論・ヘッダー行・大整数安全対応。100%プライベート、アップロード不要。

JSON Diff(差分)

エンコーディングとフォーマット

2つのJSONファイルをブラウザで即座に比較・差分確認。サイドバイサイドのハイライト表示、RFC 6902 JSON Patch出力、タイムスタンプやIDなどのノイズフィールドを無視。100%プライベート、アップロード不要。

JSONフォーマッター&バリデーター

エンコーディングとフォーマット

無料オンラインJSON整形ツール。ブラウザ上でJSONのフォーマット、構文検証、圧縮を即座に実行。エラー検出、ワンクリックコピー対応。データは端末外に送信されず、100%プライバシー保護。

JSON Schema バリデーター

エンコーディングとフォーマット

JSON を任意の JSON Schema に対してブラウザで即座に検証。Draft 2020-12 / 2019-09 / Draft-07 をサポートし、エラーメッセージは JSON Pointer パスで正確に位置を示します。100% プライベート、アップロード不要、無料。