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の変換はブラウザ内で行い、入力したテキストやファイルをサーバーへ送信しません。