Base64の概要・基礎知識
Base64は、バイナリデータを64種類の英数字(A〜Z、a〜z、0〜9、+、/)とパディング用の「=」だけで表現する標準的なエンコード方式で、RFC 4648で規定されています。バイナリのままだと文字化けや改行コード変換で壊れてしまう環境(メールのSMTP、HTTPヘッダー、JSON、URL)でも安全に運べる「テキスト化された箱」として使われます。本ツールはエンコード・デコードを双方向に行え、URLセーフ表記(+/→-_)にも対応します。文字列はUTF-8として処理されるため、日本語の絵文字や記号も正しく往復変換できます。
Base64の特徴と仕組み
| 項目 | 内容 |
|---|---|
| エンコード後のサイズ | 元データの約133%(4/3倍)。3バイトを4文字で表現するため |
| 使用する文字 | A〜Z(26)、a〜z(26)、0〜9(10)、+、/、= の計64+1種 |
| 可逆変換 | 暗号化ではなく単なる符号化。誰でもデコードできる |
| パディング | 「=」を末尾に付けて4の倍数文字に揃える |
| URLセーフ | 「+」→「-」、「/」→「_」に置換し、URLやファイル名でも安全 |
使い方の流れ
- 「エンコード」または「デコード」のモードを選択します。
- 入力欄にテキストを入力するか、Base64文字列をペーストします。
- URLや認証ヘッダーに使う場合は「URLセーフ(+/ → -_)」をオンにします。
- 結果欄に変換結果が表示され、入力サイズ・出力サイズ・サイズ比も併記されます。
- 「コピー」で結果を取得、「入力↔結果を入れ替え」で往復確認、必要なら「クリア」で初期化できます。
こんな場面で使う
- Basic認証ヘッダー作成:HTTPのAuthorizationヘッダーで
Basic ユーザー:パスワードをエンコードして送信する標準方式です。 - 画像のdata:URI埋め込み:CSSやHTMLに小さなアイコン画像を
data:image/png;base64,iVBOR...形式で直接埋め込み、HTTPリクエスト数を減らせます。 - JSON内のバイナリ受け渡し:JSONは生のバイナリを格納できないため、画像・PDF・暗号鍵をBase64文字列として運ぶのが定番です。
- JWTトークンの中身確認:JWTは「ヘッダー.ペイロード.署名」をURLセーフBase64で繋いだ形式。各部をデコードして中身を覗けます。
- メールの添付ファイル:MIMEエンコードでバイナリ添付がBase64化されて送られます。本ツールでヘッダー部分の解析にも使えます。
使う前に知っておきたい注意点
- Base64は暗号化ではありません。誰でもデコードして元データに戻せるため、パスワードや個人情報の保護用途には使わないでください。
- エンコード後のサイズは元の約4/3倍に増えます。大きなファイルをBase64化するとメモリ・通信量を圧迫することがあります。
- 標準Base64の「+」「/」「=」はURLや一部のファイル名で問題を起こします。URL用途では必ずURLセーフ版を使ってください。
- 本ツールはUTF-8でエンコード・デコードします。Shift_JISやEUC-JPの文字列は事前にUTF-8へ変換してください。
- 巨大なファイルは
btoa/atobの制約でブラウザがフリーズすることがあります。数MB以上はサーバー側のCLI(base64コマンド)が安全です。
用語の補足
- パディング:Base64文字列の末尾を4の倍数長にするための「=」。1〜2文字付きます。URLセーフ版では省略されることもあります。
- data:URI:
data:[mime];base64,...という形式でバイナリをURLとして埋め込む仕組み。HTML/CSS/JavaScriptで広く使われます。 - btoa/atob:JavaScriptの組み込み関数。それぞれBase64エンコード/デコードに対応しますが、UTF-8文字列を直接扱えない点に注意が必要です。