English 日本語
⚡ 即座にData URI生成 • HTML / CSS対応 • クリップボード貼り付け対応

画像 Base64 変換 — 画像を即座にコード化

PNG、JPG、WebP、SVG、GIF画像をブラウザ上で瞬時にBase64 Data URI文字列やHTML・CSS埋め込みタグへ変換。サーバー送信なしで100%安全・快適。

ここに画像をドロップ、またはクリップボードから貼り付け (Ctrl+V)
またはクリックしてお使いの端末から画像を選択
対応形式: PNG, JPG, WebP, SVG, GIF, ICO • 最大 20 MB • サーバー送信なし

オンラインで画像をBase64に変換する手順

PNG、JPG、WebP、GIF、SVG画像を、HTMLやCSSで直接使えるRFC 2397準拠のData URIコードへブラウザ上で安全に変換します。

1

画像ファイルを選択

変換したいPNG、JPG、WebP、SVG、GIF、ICO画像ファイルを上部のワークベンチにドラッグ&ドロップします。

2

瞬時にBase64エンコード

ブラウザのFileReader APIがバイナリデータを読み込み、3バイトのオクテットを4文字の6ビット文字ブロックへと高速メモリ変換します。

3

Data URI・コードをコピー

生のBase64文字列、完全なData URI、CSS用background指定コード、またはHTMLのimgタグをワンクリックでコピーします。

フロントエンド高速化と完全なクライアントサイド機密保護

小さなアイコンのHTTPリクエストを削減し、外部サーバーを経由することなくブラウザ内部で安全にインラインコード化します。

🚀

HTTPリクエストオーバーヘッドの削減

ファビコンや矢印アイコンなどの小容量画像をHTML/CSSに直接埋め込むことで、DNS解決やTLSハンドシェイクの遅延を回避し表示を高速化します。

📋

多彩な出力スニペット対応

生のBase64文字列、RFC 2397準拠Data URI、CSSのbackground-imageプロパティ、HTMLの<img>タグを一括生成します。

🔒

完全クライアントサイド処理・機密保持

エンコード処理はお使いのブラウザ内部で100%ローカル実行されます。社外秘のデザインモックアップや個人写真が外部サーバーへ送信されることはありません。

⚡

ゼロ遅延の超高速エンコード

最適化されたTypedArray処理により、大容量の画像ファイルであってもブラウザを固まらせることなく数ミリ秒でコード化を完了します。

🌐

正確なMIMEタイプの自動付与

PNG(image/png)、JPEG(image/jpeg)、WebP(image/webp)、SVG(image/svg+xml)などのMIMEタイプを自動判別し、正しいData URIを出力します。

📊

正確な容量比較メトリクス表示

元画像のバイト数とエンコード後の文字数・キロバイト数をリアルタイムに比較表示。インライン化すべきかどうかの技術判断をサポートします。

Data URI設計とBase64エンコードの技術的理論

Webページの読み込み速度を最適化する際、個々の外部画像ファイル(<img src="logo.png">)は、たとえわずか数百バイトのアイコンであっても、ブラウザとサーバー間で個別のHTTPリクエストを発生させます。HTTP/2やHTTP/3によるマルチプレックス通信が普及した現代であっても、大量の細かなリソースを個別にリクエストすることは、ブラウザのレンダリングエンジンにおけるリクエストキューイングやTLSハンドシェイクのオーバーヘッドを引き起こします。画像をBase64形式のData URIへと変換してHTMLやCSSに直接インライン埋め込みすることは、初期レンダリング(First Contentful Paint)の高速化やチラつき(FOUC)防止に絶大な効果を発揮します。

バイナリから基数64文字へ:RFC 4648に基づくビット変換メカニズム

画像バイナリがテキスト文字列へと変換される過程は、以下の厳密なビット演算パイプラインに従います。

  • 1. 3バイト(24ビット)の読み込み: コンピュータのバイト単位(8ビット×3=24ビット)で元画像バッファからデータを連続して取得します。
  • 2. 6ビット×4ブロックへの分割: 24ビットのバイナリ列を、上位ビットから6ビットずつ4つのグループへと分割します($4 imes 6 = 24$ビット)。
  • 3. 64文字アルファベットへの写像: 分割された0〜63の整数値を、RFC 4648で定義された64文字(A〜Z、a〜z、0〜9、+、/)のインデックステーブルと照合してASCII文字へと変換します。
  • 4. 末尾のパディングアライメント: 元データのバイト数が3の倍数で終わらない場合、余ったビットに0を詰めて6ビットを形成し、不足しているブロックの数だけ末尾に「=」パディング記号を追加して4文字単位のアライメントを保証します。

33%の容量増加ルールとBrotli/Gzip圧縮による緩和

3バイトのデータを4文字のテキストで表現するため、Base64エンコードを行うと理論上データ容量が約33.3%(4/3倍)肥大化します。

エンコード後のサイズ(バイト) = ceil(元サイズ / 3) × 4

しかし、実際のWeb配信においてHTMLやCSSファイルはWebサーバー(Nginx、Cloudflare等)によってGzipまたはBrotli圧縮されてクライアントへ送信されます。Base64文字列は文字セットが64種類に限定された高密度なテキストであるため、Brotli等の辞書圧縮が極めて効率的に効き、実際のネットワーク転送時の容量増加は実質10%〜15%程度に抑えられます。

Data URIインライン化 vs 外部画像URLの比較表

技術項目 Base64 Data URI(インライン埋め込み) 外部画像URL(標準リンク形式)
追加HTTPリクエスト数 0回(HTMLやCSSの読み込みと同時に完了) 画像1枚につき1回(DNS・TLS・リクエスト発生)
データ容量効率 約33%増加(Brotli圧縮で緩和可能) 100% コンパクトな生バイナリ容量
ブラウザキャッシュ挙動 親ファイル(HTML/CSS)のキャッシュに依存 HTTP Cache-Controlにより独立してキャッシュ可能
描画遅延・チラつき 皆無(即座に描画されCLSレイアウト崩れを防止) 非同期(画像ダウンロード完了まで遅延が発生)
推奨適用範囲 10KB以下の極小アイコン、ロゴ、スピナー 20KB以上の写真、メインバナー、ギャラリー

Web制作におけるBase64活用のベストプラクティス

パフォーマンスを最大化するために推奨される実装ガイドラインは以下の通りです。

  1. 変換前に画像を最適化・圧縮する: 元画像のバイナリサイズが小さいほどBase64文字列も短くなります。事前に当ツールの「画像圧縮ツール」で軽量化してからBase64化してください。
  2. 10KB以下のマイクロアセットに限定する: 10KB未満の小さなグラフィックであれば、HTTP通信の往復時間を節約できるメリットが33%の容量増大ペナルティを大きく上回ります。
  3. HTMLではなく外部CSSファイルに記述する: サイト内の複数ページで共通利用するUIアイコンは、外部CSSファイル内にbackground-imageとして埋め込むことで、CSSファイルごとブラウザにキャッシュされ効率的です。
  4. HTMLメール配信への活用: 主要なメールアプリ(OutlookやGmail)は外部画像URLの読み込みをブロックすることがありますが、Base64インライン画像であればブロックを回避して初回表示時からロゴを表示できます。

よくある質問(FAQ)

画像からBase64文字列への変換に関する技術的な質問と回答を掲載しています。

生のBase64文字列と「Data URI」の違いは何ですか? +

生のBase64文字列は純粋な暗号化英数字テキスト(iVBORw0KGgo...など)です。Data URIは、先頭に「data:image/png;base64,」といったMIMEタイプ接頭辞を付与した完全なURLスキームで、ブラウザが直接画像として認識できる形式です。

画像をBase64に変換すると画質が低下することはありますか? +

画質低下は一切ありません。Base64はバイナリデータをテキスト文字で表現する完全な可逆変換です。圧縮やピクセルの改変は行われないため、デコード後の画像は元画像とビット単位で100%同一です。

変換処理の際に画像が外部サーバーへアップロードされますか? +

一切アップロードされません。すべての画像読み込みとBase64文字列の生成はお客様のブラウザ内部(FileReader API)で完結します。機密画像であっても情報漏洩の心配なく安全にご利用いただけます。

どんな画像形式をBase64に変換できますか? +

PNG、JPG/JPEG、WebP、GIF、SVG、BMP、ICOなど、Webで利用される主要なすべての画像フォーマットに対応しています。ファイル形式を自動判別し、適切なMIMEタイプを付与してコード化します。

なぜBase64コードは元の画像ファイルより約33%大きくなるのですか? +

Base64は3バイト(24ビット)のバイナリデータを4文字(各6ビット)のテキスト文字として表現するためです。3バイトのデータを4文字で表す仕様上、データ長が数学的に4/3倍(約33%増)になります。

生成されたBase64コードをCSSで背景画像として使うにはどうすればよいですか? +

当ツールの「CSSをコピー」ボタンをクリックすると、background-image: url('data:image/png;base64,...');の形式でクリップボードにコピーされますので、CSSの任意のセレクタ内に貼り付けてご利用ください。

変換できる画像サイズに制限はありますか? +

ブラウザメモリ上で処理されるため、20MB以上の大きな画像でも変換自体は可能です。ただし、Webサイトの表示速度を保つためには、10KB以下の小さなアイコンやロゴ等に限定してBase64化することをおすすめします。

Base64文字列から通常の画像ファイルに戻すことはできますか? +

はい、可能です。姉妹ツールの「Base64 画像 変換(base64-to-image)」をご利用いただければ、Base64文字列やData URIを貼り付けるだけで、元のPNGやJPGファイルとして復元・ダウンロードできます。