Base64エンコード・デコードツール

テキストツール
変換方向

テキストを入力し、変換方向を選んで「変換する」を押してください。

このツールでできること

UTF-8テキストと標準Base64を相互に変換し、結果をコピーできます。

使い方

  1. 入力欄へ変換したいテキストを入力します。
  2. 「Base64エンコード」または「Base64デコード」を選びます。
  3. 「変換する」を押します。
  4. 必要に応じて「結果をコピー」を押します。

入力例・出力例

テキストhelloをBase64へエンコードするとaGVsbG8=になります。これをデコードすると元のhelloへ戻ります。

日本語をエンコードすると5pel5pys6Kqeになります。

末尾のパディングを省略したSGVsbG8もデコードでき、結果はHelloです。

よくある利用場面

  • APIや設定ファイルで使う短いUTF-8テキストをBase64表記へ変換するとき
  • 受け取った標準Base64がどのテキストになるか確認するとき
  • 改行を含むBase64を空白無視でデコードするとき

処理仕様

  • 文字コードはUTF-8、形式はRFC 4648の標準Base64です。出力には英字、数字、+、/を使い、必要な場合は末尾へ=を付けます。
  • デコード時は半角スペース、タブ、改行などのASCII空白を無視し、省略された末尾の=を補います。Base64以外の文字、不正な長さ、途中にある=、3個以上の=はエラーになります。
  • 復元したバイト列が正しいUTF-8でない場合はエラーになります。先頭のUTF-8 BOMに対応するU+FEFFは削除せず、テキストの一部として保持します。
  • 空の入力はエラーです。空白だけのテキストはエンコードできますが、ASCII空白だけのBase64入力はデコードできません。正しくUTF-8へ変換できない単独サロゲートもエラーになります。
  • エラー時は部分的な結果を表示しません。入力や変換方向を変更すると、以前の結果とコピー可能な状態をクリアします。
  • 非常に大きな入力の処理速度や使用可能な容量は、端末とブラウザの性能に依存します。

仕組み・詳しい解説

テキストをUTF-8のバイト列にしてから変換します

Base64が表す対象は文字そのものではなく、8ビット単位のバイト列です。元の文字コードを示す情報は含まれないため、このツールでは文字コードを自動判定せず、常にUTF-8として扱います。

標準Base64とBase64URLは別の形式です

標準Base64は値62と63に+と/を使います。Base64URLはURLやファイル名で扱いやすいよう、同じ位置に-と_を使う別形式です。このツールは標準Base64だけに対応するため、Base64URLに含まれる-や_はデコードできません。

data:text/plain;base64,...のようなData URLは、メディアタイプや区切り文字を含む別の表現です。接頭辞を自動で取り除かないため、そのままではデコードできません。

Base64は暗号化やハッシュではありません

Base64はバイト列を限られたASCII文字で表すためのエンコード方式です。変換方法を知っていれば誰でも元へ戻せるため、パスワード、APIキー、個人情報などを秘匿する目的には使えません。また、内容の改ざん検知に使うハッシュとも異なります。

任意のバイナリデータはテキストとして出力しません

Base64という方式自体は画像やファイルのバイト列も表せますが、このツールの出力欄はUTF-8テキスト専用です。例えば/w==は1バイトのFFへ復元できますが、単独のFFは正しいUTF-8テキストではないためエラーになります。

仕様の詳細は、RFC 4648のBase64、Base64URL、WHATWG Encoding StandardのTextEncoder・TextDecoderで確認できます。

入力データについて

変換はブラウザ内で行います。入力したデータをToolRollのサーバーや外部サービスへ送信せず、CookieやWeb Storageへ保存しません。