使い方
- 画像をドロップエリアにドラッグするか、クリックしてファイルを選択するか、クリップボードから画像を貼り付けます。複数のファイルをまとめて処理できます。
- 必要に応じて「変換形式」(PNG、JPEG、WebP)を選び、「品質」を調整して「最大幅」を設定します。
- 画像ごとに表示される「画像サイズ」、元の「ファイルサイズ」、「Base64 サイズ」を確認します。
- 必要な出力を「コピー」または「ダウンロード」します。data URI、Base64 文字列のみ、HTML の img タグ、CSS の背景画像、Markdown から選べます。
画像を Base64 に変換するしくみ
Base64 は、画像ファイルのバイト列を 64 種類の文字からなるプレーンテキストに変換します。3 バイトごとに 4 文字になるため、テキストは元のファイルより約 33% 大きくなります。data URI では、data:image/png;base64, のように MIME タイプを含む短いプレフィックスを先頭に付けます。これにより、ブラウザは画像の URL を指定できる場所ならどこでも、このテキストを画像として表示できます。
画像の読み込みとエンコードは、お使いのブラウザ内でローカルに行われます。アップロードはされないため、非公開のスクリーンショットや未発表のデザインがデバイスの外に出ることはありません。
どの出力を使えばよいですか?
- Data URI:
src属性、JavaScript、URL を受け付ける JSON フィールドに使います。 - Base64 文字列のみ:エンコードしたバイト列だけを受け取る API 向けです。通常は MIME タイプやファイル名を別のフィールドで指定します。
- HTML の img タグ:ページやテンプレートにそのまま貼り付けられます。
- CSS の background-image:スタイルシートでアイコンや装飾画像に使います。
- Markdown:ドキュメントやメモ用です。GitHub をはじめ、一部のレンダラーは data URI の画像を表示しません。
対応形式の一覧
Base64 文字列の先頭の数文字を見ると、ファイルの種類がわかります。この部分に各形式のファイルシグネチャがエンコードされているためです。
| 形式 | MIME タイプ | Base64 の先頭 |
|---|---|---|
| PNG | image/png | iVBORw0KGgo |
| JPEG | image/jpeg | /9j/ |
| WebP | image/webp | UklGR |
| GIF | image/gif | R0lGOD |
| SVG | image/svg+xml | PHN2Zy または PD94bWw |
| BMP | image/bmp | Qk |
| ICO | image/x-icon | AAABAA |
| AVIF | image/avif | 一定ではない |
| TIFF | image/tiff | SUkqAA または TU0AKg |
画像のインライン化が効果的な場合
data URI を使うとネットワークリクエストを 1 回減らせ、ファイルを単体で完結させられます。数 KB 程度の小さなアイコンやロゴ、1 ファイルで完結する HTML レポート、ぼかした小さなプレースホルダー、JSON で送る画像などに適しています。一方、大きな写真には向きません。サイズが 3 分の 1 増え、ブラウザで個別にキャッシュできず、HTML や CSS のファイルも重くなり、それをダウンロードし終えるまで何も描画されません。こうしたコストは、節約できるリクエスト 1 回分を上回るのが普通です。サイトで Content-Security-Policy を送信している場合は、インライン画像のために img-src に data: を追加する必要もあります。
よくある質問
画像はサーバーにアップロードされますか?
いいえ。ブラウザが各ファイルを読み込み、お使いのデバイス上でエンコードします。base64.is を含め、どこにもデータは送信されません。
Base64 のテキストが画像より大きくなるのはなぜですか?
Base64 は 3 バイトごとに 4 文字を使うため、結果は約 33% 大きくなり、さらに data URI のプレフィックスが加わります。短くしたい場合は、「最大幅」を設定するか、「品質」を下げて WebP または JPEG に変換してください。
複数の画像をまとめて変換できますか?
はい。複数のファイルを選択またはドロップしてください。画像ごとにプレビュー、サイズ、各出力が表示され、それぞれに「コピー」と「ダウンロード」のボタンがあります。
Base64 画像は HTML メールで使えますか?
cid: で参照するインライン添付のほうが確実です。