本文へスキップ

画像をBase64・データURIに

Image to Base64 / Data URI

画像をBase64文字列や、CSS・HTML・JSONにそのまま貼れるデータURIに符号化します。

画像をデータURIとして埋め込むと、リクエストが1つ減り、容量が3分の1増えます。しかも、ページを見るたび永久にです。データURIは、それを載せている文書と別にキャッシュできないからです。このツールはファイルを符号化し、貼り付ける前にその取引の両側を目の前に置きます。

🔒 ブラウザの中だけで動きますbase64data-uriencodeweb

画像を置いてください

このタブ内でエンコードします。Base64 は圧縮ではなく、ファイルを 3 分の 1 ほど大きくします。

使い方

  1. 画像を置きます

    種類は拡張子ではなくバイト列で判断します。中身がJPEGの.pngはよくありますし、種類が間違っているインライン画像は表示されません。

  2. 判定を読みます

    およそ4KBまでなら埋め込みは無料です。100KBを超えたあたりからは、並行して取得されキャッシュもされたはずの資源のせいで、最初の描画を遅らせていることになります。

  3. 包み方を選びます

    CSSならurl()の形、HTMLならimgタグ、JSONなら引用符付きの文字列を、組み立てずにそのまま貼れる形で渡します。

よくある質問

Base64は画像を圧縮しますか

逆です。3バイトを4文字に符号化するので、転送時の圧縮を別にすれば、テキストはファイルよりちょうど33⅓%長くなります。圧縮ではなく符号化です。

SVGもこの方法で埋め込むべきですか

いいえ。SVGはすでにテキストなので、URLエンコードなら33%ではなく10%ほどで済み、読めて差分も取れる形のまま残ります。SVGにBase64を掛けるのはよくある間違いで、このページはそれを見つけると指摘します。

8MBを超えるファイルを、なぜ断るのですか

データURIが1行10MB超のテキストになるからです。多くのエディタと、いくつかのブラウザの開発者ツールは、その大きさで使い物にならなくなります。そもそも8MBのインライン画像が正解だったことはありません。

ここから渡せます

次の一手

このツールが出したものをそのまま受け取れる道具です。