Base64 エンコード / デコード
すべてブラウザ内で動きます。ファイルやデータが外部に送られることはありません。
このツールについて
Base64 は、A から Z、a から z、0 から 9、そして + と / の64文字を使って、バイナリデータをASCIIテキストに変換する方式です。暗号化ではないため、誰でもデコードできます。JSONペイロード、data URI、HTTP Basic認証ヘッダー、メール添付ファイルなど、テキストしか受け付けない場所に任意のバイト列を安全に埋め込む用途に向いています。文字セットとパディングの正確なルールはRFC 4648で定義されています。
テキストを貼り付ければBase64にエンコードし、Base64文字列を貼り付ければ元に戻します。
入力したデータはどこかに送信されますか?
いいえ。処理はすべてブラウザ内で、JavaScriptエンジンに組み込まれているテキストのエンコード・デコード機能を使って完結します。入力した内容がサーバーに送られることはないため、認証情報やトークンなど機密性の高い値にも安心して使えます。
デコードに失敗することがあるのはなぜですか?
デコーダーは、デコードの前に前後の空白を取り除きます。チャットのメッセージや設定ファイルからコピーしたBase64文字列には、余分な改行やスペースが紛れ込むことがよくあるからです。それ以外の点では、標準的なBase64、つまり通常の文字セットとパディングを前提としており、+// を -/_ に置き換えたURLセーフ版には対応していません。貼り付けた文字列がURLセーフ版だったり、そもそも正しいBase64ではなかったりする場合は、崩れた結果を返すのではなく、デコードが失敗した旨を表示します。
一方エンコードでは、まずUTF-8(Unicodeをバイト列として表現する標準的な方式)を使ってテキストを生のバイト列に変換し、そのバイト列をBase64エンコードします。この2段階の処理があるおかげで、絵文字やアクセント付き文字、非ラテン文字なども、途中で崩れることなく正しく往復できます。
Base64と暗号化はどう違いますか?
Base64は入力内容を隠すものではありません。暗号ではなくエンコード方式であり、バイト列をテキストとして表現する一般に知られた可逆な変換にすぎないため、このページも含め、Base64デコーダーさえあれば誰でも元に戻して読むことができます。何かを本当に秘匿したい場合は、先に暗号化してから(このサイトのAES暗号化 / 復号化ツールも同じくブラウザ内だけで完結します)、平文の形で扱う必要があるときだけBase64エンコードしてください。
よくある使い方は、Authorization: Basic ヘッダー内の認証情報を読む、data: URIの中身を確認する、設定ファイルやJWTのセグメントに含まれるBase64のかたまりが実際に何を表しているか調べる、Base64入力を要求するAPI向けに文字列をエンコードする、といったものです。エンコード自体についてさらに知りたい場合はMDNのBase64用語集を参照してください。