🔗 画像を Base64 に
Data URI・CSS・HTML を生成
⚠️ Data URI はごく小さなアイコン向きです。5〜10KB を超える画像の埋め込みはたいてい逆効果で、個別にキャッシュされず、ページを開くたび毎回転送されます。
🔒 すべての処理はブラウザ内で完結します。ファイルがサーバーに送信されることはなく、私たちが中身を見ることもありません。タブを閉じれば何も残りません。
使い方の手順
- 画像を選ぶ 小さなアイコンが最適です。ロゴ、アイコン、シンプルな背景パターンなど。写真を変換すると、文字列が長すぎて実用に耐えません。
- 「先に再エンコードして縮小」はオンのままに Base64 はデータを約 33% 増やします(3 バイトが 4 文字になる)。実際に表示するサイズまで縮めて圧縮してから変換する価値は、ほぼ確実にあります。既定の幅 256px・WebP はアイコンには十分です。
- 出力形式を選ぶ Data URI は文字列のみで、使い方は自由です。HTML img は幅と高さを含む完成したタグを返します。CSS background はスタイルシートにそのまま貼れるルールを返します。
- 実行する 完全な文字列とその長さが下に表示されます。この長さが要点で、HTML や CSS のファイルが増える量そのものです。
-
コピー、または .txt をダウンロード
「コピー」でクリップボードに入ります。長い文字列の場合、ブラウザで全選択するよりダウンロードした
.txtのほうがずっと扱いやすくなります。
こんなときに使えます
小さなアイコンを埋め込んでリクエストを減らす
数百バイトのアイコンでは、HTTP リクエストのコストが画像そのものより大きくなることがあります。Data URI にすればその往復をなくせます。ただし HTTP/2 以降は利点がかなり小さくなっているので、多用は避けてください。
HTML メールを書く
多くのメールクライアントは、受信者が「画像を表示」を押すまで外部画像をブロックします。埋め込んだ画像はブロックされません(ただし Gmail の Data URI 対応は限定的なので、送信前に必ず実機で確認してください)。
単一ファイルのページ・レポート
他のファイルなしで開いて動く HTML を渡す必要がある場合、画像はすべて埋め込む必要があります。オフライン資料、自動生成のレポート、メール添付で送るページなどが該当します。
手早いテスト・デモ
CodePen や JSFiddle、使い捨てのテストページで画像を使いたいが、ホスティングの手配は面倒という場面。Data URI を貼るのが最短です。
Base64 とは
画像はバイナリデータですが、HTML・CSS・JSON はテキストしか保持できません。Base64 は任意のバイナリをプレーンテキストへ変換する符号化方式で、64 種類の安全な印字可能文字(A–Z、a–z、0–9、+、/)で元のバイト列を表現します。
代償は約 33% のサイズ増加です。3 バイトを 4 文字で書く必要があるためで、実装上の無駄ではなく、この符号化の数学的な下限です。
埋め込む価値があるのはどんなとき
判断基準は単純です。HTTP リクエストのコストが画像自体より大きいほど小さい場合にのみ埋め込む。実務上は 5KB 未満のアイコン程度です。
それを超えると欠点が利点を上回り始めます。主な問題はキャッシュです。独立した画像ファイルは一度ダウンロードされれば以降のページではキャッシュから使われますが、埋め込んだ画像は HTML や CSS の一部であり、そのファイルを読み込むたびに毎回まるごと再送されます。500KB の画像を埋め込んだサイトは、1 ページ閲覧ごとに 665KB のテキストを余分に転送することになります。
HTTP/2 以降の変化
Data URI が流行した時代、ブラウザは同一ドメインへの同時接続数を厳しく制限しており(通常 6 本)、リクエスト数の削減は実効性のある最適化でした。HTTP/2 では 1 本の接続上で多数のリクエストが多重化されるため、この利点は大きく縮小しました。
現在の妥当な使い方は限定的です。すべてのページで使われ、めったに変更しない、ごく小さなアイコンだけを埋め込む。それ以外は独立ファイルのままにして、キャッシュを活かしてください。
よくある質問
文字列が元ファイルより大きいのはなぜ?
data:image/webp;base64, の接頭辞も加わります。先に縮小することを勧めるのはこのためで、100KB の画像は 133KB のテキストになります。Data URI を使うべきでないのはどんなとき?
ページのパフォーマンスに影響しますか?
生成した文字列は <img src> にそのまま使えますか?
src、CSS の url()、canvas のいずれでもそのまま利用できます。「HTML img」形式では width と height 属性も付きます。この 2 つは残しておく価値があり、ブラウザが表示領域を先に確保できるため、読み込み中にページが跳ねるのを防げます。次に使いそうなツール
画像の作業は一度で終わらないことがほとんどです。「画像を Base64 に」とよく一緒に使われるのはこちら:
- 🎯 指定サイズに圧縮 — 2MB と指定すれば 2MB 以下に
- ⚡ PNG を WebP に — ファイルサイズを 3 割以上削減
- 🌈 カラーパレット抽出 — 主要な色を HEX・CSS 付きで抽出
仕上げたものをそのまま共有しますか?アップロードなら画像・写真・動画を短縮リンクにでき、パスワード・有効期限・閲覧回数の上限も設定できます。ツール一覧もどうぞ。
ほかのツール
画像を圧縮
画質を保ったままファイルを縮小
指定サイズに圧縮
2MB と指定すれば 2MB 以下に
HEIC を JPG に
iPhone の写真を汎用形式へ
EXIF の確認・削除
写真に含まれる情報を確認して削除
証明写真サイズ
パスポート・証明写真、印刷用シートも
サイズ変更
幅・比率・指定サイズで変更
画像を拡大
最大 4 倍まで拡大
画像を切り抜き
ドラッグで残す範囲を選択
画像を回転
一括で回転・反転
透かしを追加
位置と透明度を調整できる文字透かし
ぼかし・マスク
顔・ナンバー・個人情報を隠す
JPG に変換
PNG・GIF・WebP を JPG へ
JPG を PNG に
可逆圧縮の PNG または WebP へ
PNG を WebP に
ファイルサイズを 3 割以上削減
グリッド分割
3×3 に分割して Instagram へ
画像を連結
複数画像を 1 枚の長い画像に
ファビコン作成
各サイズと .ico を一括生成
カラーパレット抽出
主要な色を HEX・CSS 付きで抽出
SVG を PNG に
ベクターを任意サイズのラスターへ
動画からコマ抽出
任意の時点をカバー画像に
動画を GIF に
一部を切り出してアニメ GIF に
単色背景を除去
白背景・グリーンバックの商品写真向け
画像から文字起こし
スクリーンショットの文字を抽出
画像を PDF に
複数の画像を 1 つの PDF に
PDF を画像に
各ページを JPG / PNG に変換