Base64は、画像や実行ファイルのような「文字ではないデータ」を、英数字と記号だけの文字列に置き換える方式です。こんにちは が 44GT44KT44Gr44Gh44Gv のような形になります。
なぜこんな変換が要るのかというと、世の中には文字しか通せない通り道があるからです。メールの本文、JSONの中身、URLの一部などがそうで、そこに画像をそのまま入れると途中で壊れてしまいます。いったん文字に化けさせて運び、受け取った側で戻す。そのための仕組みです。
メールへのファイル添付は、実は内部でこの変換が行われています。ほかにも、HTMLやCSSに小さな画像を直接埋め込む「data URI」、APIの認証トークン、設定ファイルに証明書を書き込む場面などで使われます。
開発の現場では、APIから返ってきた値がBase64になっていて中身を確かめたい、というときに一番よく使います。
暗号化ではありません。ここが最も誤解されやすい点です。Base64は鍵を使わない単なる置き換えなので、誰でも元に戻せます。パスワードやAPIキーをBase64にして「隠した」と考えるのは危険です。読みにくくなるだけで、守られていません。
データが約1.33倍に増えます。3バイトを4文字で表す仕組みなので、必ず膨らみます。大きな画像をdata URIで埋め込むとページが重くなるのは、この増加分が効いているためです。
URL用の変種があります。通常のBase64は + と / を使いますが、これらはURLの中では別の意味を持ちます。そのため - と _ に置き換えた「URLセーフBase64」という形式があり、両者を取り違えるとデコードに失敗します。
変換したいテキストやBase64を貼り付けます。
エンコード/デコードを選びます。
結果をコピーします。
はい。UTF-8として正しくエンコード・デコードします。
いいえ。すべてブラウザ内で処理し、入力内容は送信されません。
入力が正しいBase64でない場合に失敗します。余分な空白や改行を除いてお試しください。