Base64エンコードとは?仕組みから活用方法まで分かりやすく解説

更新日: 2026年3月

Base64は、バイナリデータ(画像やファイルなど)をテキスト文字列に変換するエンコード方式です。 メールの添付ファイルやWeb APIでのデータ送信など、様々な場面で活用されています。 本記事では、Base64の仕組みを基礎から解説し、実務での活用方法を紹介します。

なぜBase64が必要なのか

コンピュータ内部ではデータをバイナリ(0と1の列)で扱いますが、 メールやHTMLなど「テキストしか扱えない」通信経路やフォーマットが数多く存在します。 例えば、画像ファイルをそのままメールに埋め込もうとしても、テキスト形式のメールプロトコル(SMTP)では正しく送れません。

Base64は、バイナリデータを英数字と一部の記号だけで構成されたテキストに変換することで、 テキストベースの仕組みでもバイナリデータを安全にやり取りできるようにします。

Base64の仕組み

Base64エンコードは、以下の手順でデータを変換します。

  1. 入力データをバイナリに変換: 元データを8ビット単位のバイト列として読み取ります。
  2. 6ビットずつに分割: 8ビット×3バイト=24ビットを、6ビット×4グループに再分割します。
  3. 変換テーブルで文字に置換: 各6ビット(0〜63の値)を、A-Z、a-z、0-9、+、/の64種類の文字に対応させます。
  4. パディング: 入力が3バイトの倍数でない場合、末尾に「=」を追加して長さを調整します。

変換例

文字列「Hello」をBase64エンコードすると「SGVsbG8=」になります。 3バイトごとに4文字に変換されるため、Base64エンコード後のデータサイズは元のデータの約1.33倍に増加します。

Base64で使われる文字

値の範囲使用文字文字数
0〜25A〜Z(大文字アルファベット)26文字
26〜51a〜z(小文字アルファベット)26文字
52〜610〜9(数字)10文字
62+1文字
63/1文字
パディング=-

合計64種類の文字を使うことから「Base64」と呼ばれています。 URL内で使う場合は「+」と「/」が問題になるため、代わりに「-」と「_」を使う「Base64URL」という亜種もあります。

Base64の主な活用場面

1. メールの添付ファイル(MIME)

メールプロトコル(SMTP)はテキストベースのため、画像やPDFなどのバイナリファイルを添付する際にBase64エンコードが使われます。 メールソフトが自動的にエンコード・デコードを行うため、利用者は意識する必要がありません。

2. HTMLへの画像埋め込み(データURI)

画像をBase64エンコードしてHTMLやCSSに直接埋め込む「データURI」という手法があります。 小さなアイコンやロゴに使えば、HTTPリクエスト数を削減してページの表示速度を改善できます。 ただし、Base64はデータサイズが約33%増加するため、大きな画像には不向きです。

3. Web APIでのデータ送信

REST APIでJSON形式のデータをやり取りする際、バイナリデータをBase64エンコードして文字列としてJSONに含めることがあります。 例えば、プロフィール画像のアップロードや、電子署名データの送受信などで使われます。

4. Basic認証

HTTPのBasic認証では、ユーザー名とパスワードを「ユーザー名:パスワード」の形式でBase64エンコードして送信します。 ただし、Base64は暗号化ではないため、HTTPS(SSL/TLS)と組み合わせて使うことが必須です。

Base64の注意点

  • 暗号化ではない: Base64はデータの形式を変換するだけで、暗号化ではありません。Base64文字列は誰でも簡単にデコードできるため、機密情報の保護には使えません。
  • データサイズが増加する: エンコード後のサイズは元の約1.33倍になります。大量のデータに対して使うと、通信量やストレージを圧迫します。
  • 処理コスト: エンコード・デコードにはCPU処理が必要です。大量のデータを扱う場合はパフォーマンスに影響する可能性があります。
Base64の変換を試してみよう

当サイトのBase64変換ツールでは、テキストのエンコード・デコードに加え、 画像ファイルのBase64変換にも対応。データURIの生成もワンクリックで行えます。

Base64変換ツールを使う