Base64エンコード・デコードツール
テキスト・ファイルをBase64にエンコード、Base64をテキスト・ファイルに戻す
テキスト・ファイル入力
変換設定
詳細設定
サンプル例
Base64エンコーディングについて
エンコーディング原理
Base64はバイナリデータを3バイトずつ切り出し、64種類の印刷可能文字に変換する手法です。
1
3バイトを取得
24ビットのデータを得る
2
6ビットずつ分割
4つの6ビットに分ける
3
文字に変換
0-63の値をA-Z, a-z, 0-9, +, /に変換
4
パディング追加
不足分は=で補完
Base64文字テーブル
| 値 | 文字 | 値 | 文字 | 値 | 文字 | 値 | 文字 |
|---|---|---|---|---|---|---|---|
| 0-25 | A-Z | 26-51 | a-z | 52-61 | 0-9 | 62-63 | +/ |
パディング: データの末尾が3の倍数でない場合、=記号で補完
Base64のバリエーション
標準Base64
特徴: +と/を使用
用途: 一般的なデータ交換
RFC: RFC 4648
URLセーフBase64
特徴: -と_を使用
用途: URLパラメータ
パディング: 省略可能
MIME Base64
特徴: 76文字で改行
用途: メール添付
RFC: RFC 2045
Base64エンコード・デコードツールについて
ファイル対応
画像・音声など形式を問わず、10MBまでのファイルをBase64にエンコードできます
双方向変換
デコード結果はUTF-8のテキストとして表示し、画像などのバイナリはファイルとして保存できます
複数フォーマット
標準・MIME(76文字改行)・URLセーフ形式とData URI形式で出力できます
自動判定
入力がBase64でエンコード済みらしい場合に、デコード結果の一部を示して知らせます
プレビュー機能
エンコードしたファイルやデコード結果が画像・テキストなら、その内容を表示します
変換統計
入力・出力のバイト数、サイズの増減、処理時間を表示します
使用例
- Web開発 - APIレスポンス・Data URI・画像埋め込み
- メール送信 - 添付ファイル・バイナリデータのエンコード
- データ保存 - バイナリデータのテキスト化・コンフィグファイル
- 認証 - Basic認証・トークンエンコーディング
- データ交換 - JSON内バイナリデータ・XML属性
技術的な注意点
サイズ増加
Base64エンコードによりデータサイズが約33%増加します
上限
ファイル・テキストとも10MBまでです(デコードはデコード後のサイズで10MBまで)
文字エンコーディング
入力したテキストはUTF-8のバイト列にしてからエンコードします。デコード結果もUTF-8のテキストとして表示します
セキュリティ
Base64はエンコーディングであり暗号化ではありません
動作の詳細
- ファイルを選ぶと、そのときの出力フォーマットと設定ですぐにエンコードします。設定を変えると、結果に自動で反映します。ファイルを選んでいる間は[Base64エンコード]もファイルが対象です。入力欄に文字を入力すると、ファイルの選択は解除されます。
- デコードでは、URLセーフ形式(-_)、末尾の=がない形式、data:…;base64, 付きの文字列も読み込めます。改行・スペースなどの空白は無視します。Base64で使えない文字があると、その位置を表示して中止します。
- デコード結果がUTF-8のテキストとして読めないとき(画像やUTF-8以外のテキストなど)は、読めない部分を「�」で表示します。[ファイルとして保存]を押すと、デコードしたバイト列をそのまま保存できます。結果欄では改行がLFになるため、CRLFの改行を保ちたい場合も[ファイルとして保存]を使ってください。拡張子はData URIの種類または先頭のバイト列(PNG・JPEG・GIF・WebP・BMP・PDF・ZIP・gzip)から決め、判定できないときは .bin(テキストは .txt)にします。
- MIME形式は76文字ごとに改行(LF)を入れます。URLセーフ形式は+を-に、/を_に置き換えます。「パディングを追加」がオンなら、URLセーフ形式でも末尾に=が付きます。
- Data URI形式をオンにすると、先頭に「data:種類;base64,」を付けます。テキストは text/plain;charset=utf-8、ファイルはブラウザが判定した種類(不明な場合は application/octet-stream)になります。
- 「自動判定」がオンのとき、入力がBase64としてデコードでき、UTF-8のテキストや画像などのデータになる場合は、入力欄の下に案内を表示します。そのままエンコードすると二重にエンコードされます。
- [ダウンロード]は変換結果の文字列をテキストファイル(base64_result.txt)として保存します。
ブラウザ内で処理
Base64の変換はブラウザ内で行い、入力したテキストやファイルをサーバーへ送信しません。