ファイル ⇔ Base64 変換ツール(data URI対応・相互変換)
画像・PDFなど任意のファイルをBase64文字列やdata URIに変換、逆にBase64文字列やdata URIからファイルを復元してダウンロードできる無料ツール。変換処理はすべてブラウザ内で完結し、ファイルはサーバーに送信されません。
使い方のヒント
- ファイル→Base64モードでは画像・PDF・音声などファイルの種類を問わずアップロードでき、data URI形式とプレーンなBase64文字列の両方をコピーできます。
- Base64→ファイルモードでは、`data:`から始まる完全なdata URIを貼り付ければMIMEタイプを自動判定します。プレーンなBase64文字列のみの場合は手動でMIMEタイプを選択してください。
- 変換処理はすべてブラウザ内のJavaScriptで完結し、アップロードしたファイルやBase64文字列がサーバーに送信されることは一切ありません。機密性の高いファイルでも安心して利用できます。
- CSSやHTMLに小さなアイコン画像を埋め込みたい場合、data URI形式の出力をそのまま`background-image: url(...)`や`
`タグの`src`に貼り付けて使えます。
- Base64エンコードにより元のファイルサイズよりおよそ33%大きくなるため、数十MB以上の大きなファイルの変換にはブラウザの動作が重くなる場合があります。
よくある質問
data:image/png;base64,iVBOR...のように、ファイルの内容をBase64エンコードした文字列としてURLの中に直接埋め込む形式です。MIMEタイプ情報も含むため、そのまま<img>タグのsrc属性やCSSのbackground-imageに指定して画像を表示できます。data:から始まる完全なdata URI形式でない、プレーンなBase64文字列を貼り付けた場合はMIMEタイプの選択欄が表示されるので、元のファイル形式(画像・PDF・テキストなど)を手動で選択してからダウンロードしてください。
余談ですが ― なぜBase64はファイルを33%も大きくするのか
Base64エンコードが生まれた背景には、電子メールやJSON、URLなど「印字可能なASCII文字しか安全に扱えない」通信経路の制約があります。画像や実行ファイルのような任意のバイナリデータをそのまま送ると制御文字の混入などで壊れてしまうため、A〜Z・a〜z・0〜9・+・/の64種類の印字可能文字だけでバイナリを表現するBase64という方式が考案されました。
Base64は3バイト(24ビット)のバイナリデータを、6ビットずつ4つに区切って4つのBase64文字に変換します。8ビット単位のバイナリを6ビット単位の文字に詰め直すため、元のデータよりおよそ4/3倍、つまり約33%大きくなるというトレードオフが生じます。テキストとして安全に運べる引き換えに、サイズが増えることは避けられません。
この特性を逆手に取った使い方が、HTML・CSS内に小さな画像をdata:image/png;base64,...という形でそのまま埋め込むdata URIです。追加のHTTPリクエストを発生させずにアイコンなどの小さな画像を表示できるため、ページの読み込みを高速化する手法として広く使われています。ただし約33%のサイズ増加とブラウザキャッシュが効かなくなるデメリットがあるため、大きな画像ファイルの埋め込みには向いていません。