Base64ファイルエンコーダーとは?
ファイルをBase64エンコードされたテキスト文字列に変換するエンコーダーです。JSON・HTML・CSSへのファイル埋め込みや、テキスト専用チャネルでのバイナリデータ転送に役立ちます。
最大 50 MB のファイルを選ぶかドラッグすると、エンコーダーが端末内で読み込み、バイト列を Base64 に変換して、ファイルサイズ・検出した MIME タイプ・完全な data URI とともに結果を表示します。出力フォーマットを切り替えれば、どんなファイルでもバイト列を JSON・XML・貼り付けるだけの HTML ダウンロードリンクとして包めます。対応するデコード処理は、組み込みの JavaScript・Python・Shell のスニペットで確認できます。デコードモードに切り替えれば Base64 文字列を貼り付けて元のファイルをダウンロードでき、改行と余白(パディング)除去の設定で出力を MIME・PEM・JWT にぴったり合わせられます。
使い方
- 画像・ドキュメント・音声ファイルなど、任意のファイルをアップロードまたはドラッグ&ドロップします。
- 生成されたBase64文字列と、ファイルサイズ・MIMEタイプ・データURI形式を確認します。
- Base64文字列またはデータURIをクリップボードにコピーするか、テキストファイルとしてダウンロードします。
使用するタイミング
- 小さなアイコンやフォントを data URI として CSS に直接埋め込み、リクエストを 1 件減らす。
- multipart アップロードに対応していない JSON API へバイナリ内容を送る必要があるとき。
- 添付不可のサポートチケットに、最小再現ファイルをプレーンテキストで貼り付ける。
結果
開発者がCSSスタイルシートに小さなアイコンを直接埋め込むため、2KBのfavicon.pngをアップロードし、生成されたデータURIをbackground-imageの値として使用します。
よくある質問
- エンコード後のテキストが元ファイルより約 3 分の 1 大きくなるのはなぜ?
- Base64 は入力 3 バイトを ASCII 4 文字で表すため、出力サイズは約 33% 増えます。2 KB の画像はおよそ 2.7 KB のテキストになります。多数のファイルを埋め込むと CSS バンドルの肥大化につながるので、注意して使い分けてください。
- Base64 文字列と data URI の違いは?
- Base64 文字列はエンコード済みのバイト列を表すテキストです。data URI はその先頭に data:<mime>;base64, を付けて、ブラウザやメールクライアントが直接描画できる形式にしたものです。HTML や CSS には data URI、相手側で接頭辞を付ける場合は素の文字列を使います。
- 200 MB の動画をここでエンコードできますか?
- ページの軽快さを保つため、アップロードは 50 MB までに制限しています。200 MB のファイルの Base64 はおよそ 270 MB のテキストになり、これほど長い文字列ではほとんどのエディターが極端に重くなります。大きなメディアには CDN の URL かサーバー側のエンコーダーをご利用ください。
- MIME タイプは本当に重要?常に application/octet-stream を指定してもよい?
- 重要です。受け手側はバイトの表示や保存方法を MIME タイプで決めます。HTML に埋め込んだ PNG は image/png と宣言する必要があり、誤っているとブラウザは画像として描画せず、ダウンロード扱いや壊れた画像アイコンを表示します。
- エンコード時にファイルはどこかへアップロードされますか?
- されません。変換はブラウザ内の FileReader API で完結し、バイト列はあなたの端末から出ません。ネット接続を切ってからドロップしても同じように動くので、簡単に検証できます。