UnitConv
Base64

Base64 エンコード / デコード

UTF-8完全対応でBase64をエンコード・デコード

このツールについて

このBase64ツールは、テキストをBase64にエンコードし、Base64をテキストにデコードします。すべてブラウザ内で完結します。Base64は任意のバイナリデータを印字可能な64文字のASCIIだけで表すため、メール・JSON・URLなどテキスト前提のシステムを安全に通過できます。データURI、画像の埋め込み、Basic認証ヘッダー、JWTトークンなどで使われます。エンコーダーはUTF-8対応のため、アクセント付き文字・絵文字・非ラテン文字も正しく往復します。

使い方

  1. 1 テキストをBase64にするなら「エンコード」、Base64を読むなら「デコード」を選びます。
  2. 2 入力欄にテキストを入力または貼り付けます。
  3. 3 変換結果が入力欄の下に即座に表示されます。
  4. 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進値を見るなら基数変換が役立ちます。