Base64エンコードとは何か、いつ使うか、テキストやファイルをBase64にエンコードして元に戻す方法を実例を交えて学びましょう。
Base64とは?
Base64は、任意のバイト列をA–Z、a–z、0–9、プラス(+)、スラッシュ(/)の64個の印刷可能なASCII文字だけで表すバイナリ・テキスト変換方式です。画像・PDF・ZIP・暗号鍵のような非テキストデータを、メール本文・URLクエリ文字列・JSONフィールド・XML属性など「テキストしか通らない」経路に安全に通すために設計されました。Base64は暗号ではありません:誰でも元のバイト列に戻せます。その代わり、3バイト→4文字になるので出力サイズは約33%増えます。
日常的な用途
ウェブページのData URI
小さな画像やフォントはdata:image/png;base64,iVBORw…としてCSSやHTMLに直接埋め込め、HTTPリクエストを1回節約できます。
メールのMIME添付
メールプロトコルは7ビットASCII前提なので、バイナリ添付ファイルはすべて本文内でBase64エンコードされます。
JSON/XMLの中のバイナリ
APIがJSONフィールド内でファイルや鍵を返さなければならない場合、JSON文字列は生バイトを保持できないため、Base64が標準的な包装方法になります。
ステップガイド
Base64を理解する
Base64は64個のASCII文字(A-Z、a-z、0-9、+、/)を使ってバイナリデータをテキスト文字列にエンコードします。暗号化ではなくエンコードです。誰でもデコードできます。テキストのみのチャネルでバイナリデータを安全に送信するために使われます。
テキストをBase64にエンコードする
Base64ツールを開き、入力欄にテキストを貼り付けて「エンコード」をクリックします。例:「Hello, World!」は「SGVsbG8sIFdvcmxkIQ==」にエンコードされます。
Base64をテキストにデコードする
デコード欄にBase64文字列を貼り付けて「デコード」をクリックします。ツールが元のテキストに変換します。末尾のパディング文字(=)はフォーマットの一部です。
よくある使用例
HTML/CSSへの画像埋め込み(data URI):data:image/png;base64,iVBOR... メール添付ファイルのエンコード(MIME)。HTTP Basic認証ヘッダーでの認証情報の送信。JSONでのバイナリデータの保存。
Base64URLと標準Base64
Base64URLはURLセーフにするため+の代わりに-、/の代わりに_を使います。JWTはBase64URLエンコードを使います。当ツールは両方に対応しています。
無料ツールを使う
Base64 エンコーダー/デコーダー
よくある質問
Q: Base64はファイルサイズを増やしますか?
A: はい——Base64エンコードはデータサイズを約33%増加させます。3バイトの入力が4文字のBase64になります。
Q: Base64は暗号化と同じですか?
A: いいえ。Base64はエンコードであり暗号化ではありません。セキュリティを提供しません——誰でも鍵なしでデコードできます。セキュリティのためにはエンコード前に暗号化(AES、RSAなど)を使用してください。
Q: 「=」のパディングとは何ですか?
A: Base64は3バイトずつ4文字にエンコードします。入力長が3の倍数でない場合、最後の4文字ブロックを完成させるために=文字がパディングとして追加されます。