Base64エンコード・デコードツール
テキストを入力し、変換方向を選んで「変換する」を押してください。
このツールでできること
UTF-8テキストと標準Base64を相互に変換し、結果をコピーできます。
使い方
- 入力欄へ変換したいテキストを入力します。
- 「Base64エンコード」または「Base64デコード」を選びます。
- 「変換する」を押します。
- 必要に応じて「結果をコピー」を押します。
入力例・出力例
テキスト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へ保存しません。