Base64エンコード・デコード

テキストとBase64を双方向に変換します。エンコード・デコードどちらにも対応。

他のツール

Base64エンコードとは?

Base64は、バイナリデータ(画像・ファイルなど)をASCII文字列に変換するエンコーディング方式です。A-Z、a-z、0-9、+、/の64種類の文字とパディング用の「=」を使って表現します。

もともとは電子メール(MIME)でバイナリファイルを送信するために開発されましたが、現在ではWeb開発のさまざまな場面で活用されています。例えば、APIでのデータ送受信、HTMLへの画像埋め込み(Data URI)、認証トークンの生成などが代表的な用途です。

Base64は暗号化ではなく、単なるデータの変換方法です。誰でも簡単にデコード(復元)できるため、パスワードや機密情報の保護には使用できません。セキュリティ目的にはAESなどの暗号化方式を利用しましょう。

使い方

  1. テキストを入力:上部の「テキスト(平文)」欄に、Base64に変換したい文字列を入力します。日本語にも対応しています。
  2. エンコード:「エンコード」ボタンをクリックすると、下部のBase64欄に変換結果が表示されます。
  3. デコード:逆にBase64文字列を復元したい場合は、下部の欄にBase64を入力して「デコード」ボタンをクリックします。
  4. コピー:「Base64をコピー」または「テキストをコピー」ボタンで結果をクリップボードにコピーできます。

活用シーン

Base64が使われる場面一覧

Base64エンコーディングは、さまざまな技術分野で活用されています。以下の表は、代表的な使用場面とその目的をまとめたものです。

使用場面 具体例 目的・理由
メール添付(MIME) 画像・PDFなどの添付ファイル SMTPはテキストベースのため、バイナリをASCIIに変換して送信
Data URI data:image/png;base64,... 小さな画像をHTMLやCSSに直接埋め込み、HTTPリクエストを削減
Basic認証 Authorization: Basic dXNlcjpwYXNz ユーザー名:パスワードをBase64でエンコードしてHTTPヘッダーに設定
JWT(JSON Web Token) ヘッダー・ペイロード部分 JSONデータをURL安全なBase64url形式で表現
API通信 REST APIのリクエスト/レスポンス バイナリデータをJSON内に安全に含めるため
XML / SOAP バイナリデータの埋め込み XMLではバイナリが直接扱えないため、Base64に変換して格納
証明書・暗号鍵 PEM形式(-----BEGIN CERTIFICATE----- バイナリのDERデータをテキスト形式で保存・配布するため
QRコード生成 画像データの受け渡し 生成したQRコード画像をBase64でWebページに表示

文字コードとBase64の関係

Base64エンコードでは、入力テキストをまず特定の文字コードでバイト列に変換し、そのバイト列をBase64に変換します。文字コードの違いにより、同じ文字でもBase64の結果が異なる場合があります。

文字コード 特徴 1文字あたりのバイト数 主な用途
UTF-8 可変長。ASCII互換で世界標準 1〜4バイト Web全般、API、現在の標準
ASCII 英数字・記号のみ対応 1バイト 英語圏の基本テキスト
Shift_JIS 日本語固有。Windows環境で普及 1〜2バイト レガシーな日本語システム
EUC-JP 日本語固有。Unix系で使用 1〜3バイト 古いLinux/Unixシステム
ISO-8859-1 西ヨーロッパ言語向け 1バイト レガシーな欧米システム
UTF-16 固定長(BMP範囲)。JavaやWindowsの内部表現 2〜4バイト Java、Windows API内部

本ツールではUTF-8を使用してBase64エンコード・デコードを行います。日本語を含むすべてのUnicode文字に対応しているため、一般的な用途ではそのままお使いいただけます。

Base64変換の仕組み

Base64では、元データの3バイト(24ビット)を6ビットずつ4つに分割し、それぞれを64種類の文字(A-Z, a-z, 0-9, +, /)に変換します。データが3の倍数でない場合は、末尾に「=」(パディング)が付加されます。

Base64文字 値(10進) Base64文字 値(10進)
A-Z0〜25a-z26〜51
0-952〜61+62
/63=パディング

例えば、「ABC」(3バイト = 0x41, 0x42, 0x43)は「QUJD」に変換されます。元データが1バイトや2バイトの場合は、末尾に「==」や「=」が付きます。

よくある質問

Base64とURLエンコードの違いは?

Base64はバイナリデータをASCII文字列に変換する方式で、主にメールやAPIで使われます。一方、URLエンコード(パーセントエンコーディング)はURL内で使用できない文字を%XX形式に変換する方式です。用途が異なるため、場面に応じて使い分けます。

Base64に変換するとデータサイズはどうなる?

Base64に変換すると、元のデータより約33%サイズが増加します。これは3バイトのデータを4文字のASCII文字で表現するためです。大量のデータを扱う場合はサイズ増加に注意が必要です。

Base64は暗号化として安全ですか?

いいえ、Base64はエンコーディング(符号化)であり、暗号化ではありません。誰でも簡単にデコードできるため、パスワードや個人情報などの機密データの保護には使えません。暗号化が必要な場合はAESやRSAなどを使いましょう。

画像をBase64に変換するメリットは?

画像をBase64に変換してData URIとしてHTMLやCSSに直接埋め込むと、HTTPリクエスト数を削減できます。小さなアイコンやロゴに有効ですが、大きな画像ではHTMLファイルのサイズが増大するためおすすめしません。

入力したデータはサーバーに送信されますか?

いいえ、このツールではすべての処理がお使いのブラウザ内で完結します。入力したテキストやBase64データが外部のサーバーに送信されることは一切ありません。安心してご利用ください。