Base64 エンコード/デコード

テキストをBase64にエンコード、またはBase64文字列をプレーンテキストにデコード。高速・無料・ブラウザ内で完結。

使い方

  1. 入力エリアにテキストを入力または貼り付けます
  2. 「エンコード」でBase64に変換、「デコード」でBase64から変換します
  3. 「コピー」ボタンで結果をコピーします

よくある質問

  • Base64エンコードとは何ですか?

    Base64はバイナリデータをASCII文字列形式で表現するバイナリ-テキスト変換方式です。HTML/CSSへの画像埋め込みや、テキストベースのプロトコルでのデータ送信によく使用されます。

  • Base64は暗号化ですか?

    いいえ、Base64はエンコードであり、暗号化ではありません。セキュリティは提供されません。誰でもBase64文字列を元の形式にデコードできます。

  • このツールはUTF-8をサポートしていますか?

    はい、すべての言語の文字を含むUTF-8エンコードテキストを完全にサポートしています。

  • 入力サイズの上限はどれくらいですか?

    このツールはブラウザで動作するため、上限はデバイスのメモリによって異なります。通常、数メガバイトは問題なく処理できます。

Base64エンコードの仕組み

Base64は、バイナリデータを64種類のASCII文字(A〜Z、a〜z、0〜9、+/)だけを使って表現するエンコード方式です。名前の「64」はこの文字種の数に由来します。

具体的な仕組みとしては、まず元のデータを6ビット単位に分割します。1バイトは8ビットなので、3バイト(24ビット)が4つの6ビットグループに変換されます。各グループは0〜63の数値に対応する文字に置き換えられます。この変換により、データサイズは元の約4/3倍(約33%増)になります。末尾が3の倍数でない場合は、===のパディング文字が追加されます。

Base64の主な用途

メール添付とMIMEエンコード

電子メールの初期規格では、本文にASCIIテキストしか使用できませんでした。MIME(Multipurpose Internet Mail Extensions)規格でBase64が採用されたことで、バイナリファイル(画像、PDF、実行ファイルなど)をメールに添付できるようになりました。今日でも、メールサーバーはBase64を使ってバイナリ添付ファイルをエンコードしています。

HTML/CSSへの画像埋め込み(Data URI)

Base64を使うと、画像ファイルをHTMLやCSSに直接埋め込むことができます。

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUg..." />

この手法はData URIと呼ばれ、小さなアイコンやロゴをHTTPリクエスト数を減らすために利用されることがあります。ただし、ファイルサイズが増加するため、大きな画像には不向きです。

APIとWebトークン

RESTful APIでは、バイナリデータ(画像・ファイルなど)をJSONペイロードに含める際にBase64が使用されます。またJWT(JSON Web Token)のヘッダーとペイロードはBase64URLエンコード(+-/_に置き換えた変形版)されています。

Base64は暗号化ではない

Base64について最も多い誤解は「暗号化の一種」という思い込みです。Base64はエンコードであり、暗号化ではありません。エンコードは情報の変換形式を変えるだけで、機密性は一切提供しません。Base64文字列は誰でも簡単にデコードできます。

機密データを保護したい場合は、AES-256などの本物の暗号化アルゴリズムを使用してください。Base64を使うのは、データ形式の変換が目的の場合に限定しましょう。

URLセーフBase64について

標準Base64の+/はURLの区切り文字と衝突するため、URLやファイル名に含める場合はBase64URL(RFC 4648)を使用します。これは+-に、/_に置き換えたバリアントで、JWTやOAuth 2.0などのWeb標準で広く採用されています。