Base64エンコード・デコード

テキストとBase64を、入力したそばから相互に変換します。日本語(UTF-8)もそのまま扱えます。画像やPDFなどのファイルをBase64・data URLにしたり、逆にBase64をファイルとして保存したりもできます。変換はすべてブラウザの中だけで行い、データは外部に送りません。

テキスト ⇔ Base64

ファイル → Base64

Base64 → ファイルとして保存

このツールでできること

Base64は、画像やPDFのような「そのままでは文字として扱えないデータ」を、英数字など64種類の文字だけで書き表す方式です。メールの添付ファイル、HTMLに埋め込む画像、APIのトークンや証明書など、テキストしか通らない場所にデータを流し込むために使われます。

テキストとBase64は入力したそばから相互に変換され、日本語もUTF-8として正しく扱います。画像やPDFをドラッグ&ドロップしてBase64やdata URLにしたり、受け取ったBase64を元のファイルとして保存したりもできます。処理はすべてブラウザの中で完結します。

使い方

  1. 上のパネルの「テキスト」の欄に入力すると、隣の「Base64」の欄に結果がすぐ出ます。
  2. 逆にBase64からテキストに戻すときは、「Base64」の欄に貼り付けます。空白・改行やURLセーフの-・_が混じっていても読み取ります。
  3. URLやファイル名に埋め込むなら「URLセーフ」、メールの形式に合わせるなら「76文字ごとに改行」をオンにします。
  4. ファイルは真ん中のパネルにドラッグ&ドロップします。HTMLやCSSに貼るなら「data URL の形式で出す」をオンに。画像はプレビューも出ます。
  5. Base64をファイルに戻すときは下のパネルに貼り付けます。中身から種類(MIME)と拡張子を推定するので、必要なら書き換えて保存します。

知っておくと便利なこと

サイズは約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文字ごとに改行して送る決まりです。改行はデータの一部ではないので、読み取るときは取り除きます。

よくある質問

Base64は暗号ですか。
違います。鍵がなくても誰でも元に戻せる単なる書き換えで、パスワードをBase64にしても隠したことにはなりません。
「長さが正しくありません」と出ます。
=を除いた長さを4で割った余りが1のときに出ます。あり得ない長さです。コピーの途中で文字が欠けていないか確かめてください。
「UTF-8のテキストではありません」と出ます。
Base64としては読めたものの、中身が文字ではなく画像などのバイナリだったという意味です。一番下のパネルでファイルに書き出してください。
日本語が文字化けすることはありますか。
Base64が扱うのは文字ではなくバイト列で、日本語は先に文字コードでバイトへ直されます。送り手と受け手で文字コードが違うと化けます。このツールは標準のUTF-8を使います。