テキストとBase64を、入力したそばから相互に変換します。日本語(UTF-8)もそのまま扱えます。画像やPDFなどのファイルをBase64・data URLにしたり、逆にBase64をファイルとして保存したりもできます。変換はすべてブラウザの中だけで行い、データは外部に送りません。
Base64は、画像やPDFのような「そのままでは文字として扱えないデータ」を、英数字など64種類の文字だけで書き表す方式です。メールの添付ファイル、HTMLに埋め込む画像、APIのトークンや証明書など、テキストしか通らない場所にデータを流し込むために使われます。
テキストとBase64は入力したそばから相互に変換され、日本語もUTF-8として正しく扱います。画像やPDFをドラッグ&ドロップしてBase64やdata URLにしたり、受け取ったBase64を元のファイルとして保存したりもできます。処理はすべてブラウザの中で完結します。
-・_が混じっていても読み取ります。サイズは約33%増えます:3バイトを4文字に置き換えるため、データ量は4÷3=約1.33倍になります。1MBの画像は約1.37MBの文字列になるので、「軽くするための変換」ではありません。
パディングの=:元のデータが3の倍数バイトでないときは、=で長さを4の倍数にそろえます。余りが1バイトなら==、2バイトなら=が1つ。「ここで終わり」の目印であってデータではないので、省くこともあります。
URLセーフ版との違い:標準のBase64は62番目と63番目に+と/を使いますが、これらはURLでは別の意味を持ちます。URLセーフ版(RFC 4648 の base64url)は-と_に置き換え、=も省きます。JWTはこの形式です。
data URLの使いどころ:data:image/png;base64,…の形にすると、画像を別ファイルに置かずHTMLやCSSへ直接書けます。小さなアイコンなら通信の回数を減らせますが、大きな画像ではHTMLが重くなりキャッシュも効きません。目安は数KBです。
メール(MIME)の76文字改行:電子メールは1行の長さに上限があるため、添付ファイルのBase64は76文字ごとに改行して送る決まりです。改行はデータの一部ではないので、読み取るときは取り除きます。
=を除いた長さを4で割った余りが1のときに出ます。あり得ない長さです。コピーの途中で文字が欠けていないか確かめてください。