エンコード

Data URI / Base64 画像

画像を Data URI(data:image/…;base64,…)にエンコードして CSS/HTML に埋め込み、また Data URI や生の Base64 をファイルにデコード — すべてブラウザ内で完結。

ここに画像のプレビューが表示されます。

A Data URI embeds a file's contents (usually an image) directly into HTML or CSS as a Base64 string, instead of linking to a separate file. This removes an extra network request at the cost of a larger document.

How to use it

Common uses

Things to keep in mind

Base64 encoding grows the data by about 33% — for large images, a Data URI is usually a worse choice than a separate file with browser caching.

A Data URI isn't cached separately from the document it's embedded in — it gets re-downloaded along with the page every time.

このツールに関する記事: Data URI:画像をコードに直接埋め込むべき場面

よくある質問

Data URI はどんな場面で使いますか?

小さなアイコンやスプライトなどをCSSやHTMLに直接埋め込み、追加のHTTPリクエストを減らしたいときに便利です。ただしファイルとしてはキャッシュされないため、更新頻度の高い画像や大きな画像には向きません。

Data URI にはサイズ制限がありますか?

URI自体に明確な上限があるわけではありませんが、ブラウザやメールクライアントによっては実用上の制限があり、大きな画像を埋め込むとHTML/CSSファイル自体が肥大化しページの読み込みが遅くなります。数KB程度の小さな画像向けと考えてください。

選択した画像はサーバーにアップロードされますか?

いいえ、エンコード・デコードともにブラウザ内の処理だけで完結しており、画像ファイルがサーバーに送信されることはありません。

SVGをBase64を使わずにData URIにできますか?

できます。SVGはテキスト(XML)なので、Base64の代わりに特殊文字をpercent-encodingするだけで十分です: data:image/svg+xml,%3Csvg...%3E。この方法はより小さくなり、CSSファイル内でそのまま編集可能な状態を保てます。

Data URIをhref属性やbackground-imageに埋め込めますか?

はい、Data URIはリソースへの参照が想定される場所——src、href、CSSのbackground-image、さらには@import——どこでも機能します。構文やサイズの制約はimgタグの場合と同じです。

記事: エンコード

Base64とは何か、なぜ必要で、どう動くのか

Base64がバイナリデータをASCIIテキストにどう変換するか、実際にいつ必要になるか。

Base32:Base64との違いと、どんな場面で便利か

大文字小文字を区別しないBase32のアルファベットと、Base64より便利な場面。

URL Encode/Decode:リンクにおけるパーセントエンコーディング

アドレスやパラメータ中の特殊文字が%XXの並びに変わる仕組み。

HTML Entities:特殊文字を安全に表示する方法

< > &をエスケープすべき理由と、それがマークアップの破損をどう防ぐか。

JWT:トークンの構造と「デコード」の意味

JWTのheader、payload、signatureと、デコードが署名検証と同じでない理由。

Unicode Escape:\uXXXX形式が意味するもの

JSONやJS文字列に現れる\u0041のようなシーケンスがどこから来て何を意味するか。

ROT13とシーザー暗号:単純な文字の置き換え

13文字分のシフトがROT13を自己反転にする理由と、今なお使われる理由。

Punycode:国際化ドメイン名がDNSでどう動くか

非ラテン文字を含むドメインがxn--プレフィックス付きのASCII形式にどう変わるか。

モールス符号:テキストが点と線に変わる仕組み

文字を点と線でエンコードする原理と、モールス符号が今どこで使われているか。

Gzip + Base64:テキストとして送るためのデータ圧縮

圧縮されたバイナリデータをテキストフィールドに入れる前にBase64でもエンコードする理由。

XML Entities:XML文書内の文字をエスケープする

これがないと解析時に文書が壊れる、XMLの5つの必須エンティティ。