Base64 エンコード / デコード
UTF-8完全対応でBase64をエンコード・デコード
このツールについて
このBase64ツールは、テキストをBase64にエンコードし、Base64をテキストにデコードします。すべてブラウザ内で完結します。Base64は任意のバイナリデータを印字可能な64文字のASCIIだけで表すため、メール・JSON・URLなどテキスト前提のシステムを安全に通過できます。データURI、画像の埋め込み、Basic認証ヘッダー、JWTトークンなどで使われます。エンコーダーはUTF-8対応のため、アクセント付き文字・絵文字・非ラテン文字も正しく往復します。
使い方
- 1 テキストをBase64にするなら「エンコード」、Base64を読むなら「デコード」を選びます。
- 2 入力欄にテキストを入力または貼り付けます。
- 3 変換結果が入力欄の下に即座に表示されます。
- 4 コピーボタンで結果をコピー、「入れ替え」で方向を反転できます。
仕組み
Base64は入力バイトを6ビット単位に分割します。6ビットは64通りを表せるため、各グループをA-Z・a-z・0-9と+・/の合計64文字のいずれかに対応させます。3バイト(24ビット)が4つのBase64文字になり、出力は入力より約3分の1大きくなります。バイト数が3の倍数でないときは=記号を1〜2個パディングとして追加します。デコードはこの逆です。テキストはまずUTF-8バイトに変換されるため、"Hello"はSGVsbG8=になり、マルチバイト文字も正確に保持されます。
よくある質問
Base64は暗号化ですか?
いいえ。Base64は可逆的なエンコードであり暗号化ではありません。誰でもデコードできるため、秘密の保護には使わず、本物の暗号技術を使ってください。
なぜ"Hello"はSGVsbG8=になるのですか?
"Hello"の5バイトを6ビットの塊に並べ替えてBase64文字に対応させ、5バイトは3の倍数でないため=を1つパディングします。
なぜ出力は入力より長くなるのですか?
Base64は3バイトごとに4文字へ変換するため、サイズが約33%増えます。このオーバーヘッドがバイナリをテキスト安全にする代償です。
絵文字や非英語テキストも扱えますか?
はい。入力はまずUTF-8として符号化されるため、絵文字・アクセント・日本語やアラビア語などの文字も壊れずにエンコード・デコードできます。
関連ツールと用途
Web アドレス内のテキストをエスケープするにはURLエンコーダーを使います。文字コードを調べるならASCII/Unicode変換、生のビット・16進値を見るなら基数変換が役立ちます。