開発者

Base64エンコーダー / デコーダー

テキストやデータをBase64にエンコード、またはBase64文字列をプレーンテキストにデコードします。サーバーには何も送信されず、すべてローカルで処理されます。

プレーンテキスト
Base64
エンコード結果のBase64がここに表示されます。
すべてブラウザ内で実行されます。サーバーには何も送信されません。

Base64エンコーディングとは

Base64はバイナリデータをASCII文字列として表現するバイナリ→テキスト変換方式です。HTML/CSSへの画像埋め込み(data URI)、URLへのデータ埋め込み、メール(MIME)などのテキスト専用チャネルでのバイナリ送信、バイナリをそのままは扱えないJSONやXMLへのバイナリ格納などに広く使われます。入力3バイトごとに4文字のASCIIへ変換されるため、Base64は常に元のデータより約33%大きくなります。

Base64を使う場面

CSSやHTMLに小さな画像をインラインで埋め込んでHTTPリクエスト数を減らす(代わりにキャッシュ粒度が下がります)。プロトコルがテキストしか許容しないJSON APIでバイナリ添付をエンコードする。URLエンコーディングと組み合わせて特殊文字をURLパラメータに含める。テキストしか扱えないデータベース・ログ・設定ファイルにバイナリを保存する、などです。

Base64とURLエンコーディングの違い

両者は目的が異なります。Base64は任意のバイナリをASCIIへ変換するものです。URLエンコーディング(パーセントエンコーディング)はURLで無効な文字をエスケープするものです。互換性はなく、バイナリをリンクに埋め込むときはBase64→URLエンコードという二段構えがよく使われます。URLセーフな変換にはURLエンコーダー / デコーダーをご利用ください。

主な用途

  • HTMLやCSSへの画像埋め込み:画像をBase64データURIに変換してHTMLやCSSに直接インライン化し、別途HTTPリクエストを不要にします。
  • JWTトークンのデバッグ:JWTのヘッダーとペイロードはBase64URLエンコードされています。専用のJWTデバッガーなしにデコードしてクレームを確認できます。
  • メール添付ファイルのエンコード:MIME準拠のメールシステムではバイナリ添付をBase64エンコードする必要があります。送信前にエンコード結果を確認できます。
  • APIリクエスト・レスポンスの検査:一部のREST APIはバイナリデータ、画像、暗号化キーをBase64でエンコードします。デコードして生の内容を確認できます。
  • JSONへのバイナリデータ格納:JSONはバイナリをネイティブに扱えません。Base64はJSONペイロードにファイル内容やバイト配列を埋め込む標準的な方法です。
  • 環境変数のエンコード:シークレットキーや証明書は.envファイルやCI/CDパイプラインでBase64エンコードして安全に保存・転送されます。
  • ウェブフォントの埋め込み:カスタムウェブフォントをBase64エンコードしてCSSファイルに直接埋め込み、制限環境でのCORSの問題を回避できます。

FAQ

Base64は暗号化ですか?

いいえ。Base64はエンコーディングであって暗号化ではありません。キーもパスワードもなく誰でもデコードできます。機密データの保護には絶対に使わず、Base64化したデータも平文と同等に扱ってください。

Base64にすると容量が増えるのはなぜ?

入力3バイトごとに出力4文字になる(1文字あたり8ビットではなく6ビット)ため、約33%のオーバーヘッドが生じます。入力の長さが3の倍数でないときに末尾を「=」で埋めるパディングによって、さらに若干のオーバーヘッドが加わります。

Base64はUnicodeに対応していますか?

はい。このツールはBase64化する前にテキストをUTF-8でバイト列化するため、ñ・ü・日本語などの文字も正しく扱えます。デコード時はBase64デコードの後にバイト列をUTF-8として解釈することで元に戻します。

このツールはデータをどこかに送信しますか?

いいえ。すべてのエンコードとデコードはJavaScriptを使ってブラウザ内で完結します。データがデバイスの外に出ることはありません。

Base64エンコードはデータを暗号化しますか?

いいえ。Base64はエンコード方式であり、暗号化ではありません。エンコードされた文字列は誰でも簡単に元に戻せます。機密データの保護にBase64を使わないでください。

数字で見る

参考資料・さらに詳しく

01
あなたのデバイスで動作
ファイルはブラウザの外に出ません。サーバーへのアップロードなし。
02
8 言語対応
EN, ES, HI, PT, FR, DE, ID, JA — すべてのツールで。
03
登録不要
ページを開いて、ツールを使う。それだけ。