Base64 エンコード / デコード

Base64エンコード・デコードをブラウザ上で即座に実行できる無料ツールです。入力したテキストをBase64に変換したり、Base64文字列を元のテキストに復元できます。日本語を含むUnicode文字、URLセーフBase64(+を-に、/を_に置換)にも対応しています。

テキストをBase64形式にエンコード、またはBase64文字列を元のテキストにデコードするオンラインツール。日本語・絵文字などUnicode文字に対応。URLセーフBase64にも対応しています。

履歴がありません

使い方ガイド

以下の手順で Base64 のエンコード・デコードを行えます。

  1. 「エンコード」または「デコード」のモードを選択してください。
  2. URL やファイル名に安全な形式(URLセーフ Base64)が必要な場合は「URLセーフ」にチェックを入れます。
  3. 入力欄にテキスト(エンコード時)または Base64 文字列(デコード時)を貼り付けてください。
  4. 「変換する」ボタンをクリックすると結果が表示されます。
  5. コピーボタンで結果をクリップボードにコピーできます。

すべての処理はブラウザ内で完結します。入力した文字列が外部サーバーに送信されることはありません。

Base64 とは?仕組みと用途を解説

Base64 は、バイナリデータを ASCII 印刷可能文字だけで表現するエンコーディング方式です。A〜Z、a〜z、0〜9 の62文字に「+」と「/」を加えた64種類の文字を使うことから Base64 と呼ばれます。元データを 6 ビット単位に分割し、それぞれを対応する文字に置き換えることで変換を行います。データ量はエンコード後に約33%増加しますが、メールシステムや HTTP など ASCII テキストしか扱えないプロトコルでバイナリデータをやりとりする手段として広く普及しています。

URLセーフ Base64 は、通常の Base64 で使われる「+」を「-」に、「/」を「_」に置き換えた派生形式です。これらの記号は URL のクエリパラメータ中で特殊な意味を持つため、そのままだと URL エンコード(%2B、%2F)が必要になります。URLセーフ形式ならパーセントエンコードなしで URL や Cookie・ファイル名に安全に埋め込めます。JWT(JSON Web Token)のペイロード部分や Google OAuth などでも利用されています。

なお Base64 はあくまでエンコーディングであり、暗号化ではありません。データを安全に保護したい場合は、AES などの暗号化アルゴリズムと組み合わせて使用する必要があります。

実用例:Base64 が使われる場面

Base64 エンコードは Web 開発・インフラ・セキュリティなど幅広い場面で登場します。「バイナリをテキストとして安全に扱いたい」という需要がある限り、Base64 は欠かせない技術です。代表的な利用シナリオを詳しく紹介します。

HTTP Basic 認証
HTTP の Basic 認証では「ユーザー名:パスワード」という形式の文字列を Base64 エンコードし、Authorization ヘッダーに「Basic <エンコード済み文字列>」として付与します。ただし Base64 は暗号化ではないため、HTTPS と組み合わせて使用することが必須です。このツールでデコードすれば認証情報が平文で読み取れることも確認できます。
JWT(JSON Web Token)ペイロードの確認
JWT は「ヘッダー.ペイロード.署名」という構造を持ち、ヘッダーとペイロードはそれぞれ URLセーフ Base64 でエンコードされています。このツールの「URLセーフ」オプションをオンにしてデコードすれば、ユーザーIDや有効期限(exp)などのクレームを手軽に確認できます。開発中の認証バグ調査や API テストで頻繁に使われる手法です。
data URI スキーム(HTML / CSS への画像埋め込み)
小さなアイコンや背景画像を Base64 に変換し、「data:image/png;base64,<データ>」という形式で HTML の src 属性や CSS の background-image に直接埋め込めます。外部ファイルへの HTTP リクエストが不要になるため、ページ読み込みの高速化やファイル数の削減に役立ちます。ただしデータが大きくなると HTML/CSS サイズが膨らむため、小さな素材に限って使うのが一般的です。
電子メール添付ファイル(MIME エンコーディング)
電子メールのプロトコルは元々テキストのみを扱うよう設計されていたため、PDF や画像などのバイナリファイルを送信するには MIME 規格に従って Base64 エンコードする必要があります。メールクライアントが自動的に処理するため普段は意識しませんが、メールの生データを確認すると Content-Transfer-Encoding: base64 という行とエンコード済みの本文が確認できます。
API レスポンスのデバッグ
REST API や GraphQL API がバイナリデータ(画像・PDF・音声など)を JSON フィールドとして返す場合、値は Base64 文字列になっていることがほとんどです。このツールでデコードすることで、受け取ったデータが正しいかをブラウザ上で手軽に検証できます。また逆に、ファイルを Base64 エンコードして API リクエストのボディに埋め込む際の動作確認にも使えます。
Kubernetes Secrets・環境変数への埋め込み
Kubernetes の Secret リソースでは、パスワードや証明書などの機密値を Base64 エンコードして YAML に記述します(例: `echo -n 'password' | base64`)。同様に、CI/CD パイプラインで証明書ファイルや SSH 鍵を環境変数として渡す際にも Base64 エンコードが使われます。このツールを使えばコマンドラインなしにブラウザ上でエンコード・デコードを確認できます。
フォントファイルの Web フォント埋め込み
Web フォント(woff2 / ttf など)を Base64 エンコードし、CSS の @font-face ルールの src に data URI として指定すると、フォントファイルへの追加リクエストなしにカスタムフォントを適用できます。フォントファイルは数十〜数百 KB になることが多く Base64 後はさらに約 33% 増加するため、アイコンフォントや小規模なプロジェクトでの利用が中心です。

このように Base64 は多岐にわたる場面で活用されています。一方で、エンコードするとデータサイズが約 33% 増加するというトレードオフがあります。大容量ファイルを Base64 で扱うとメモリ消費や転送量の増大につながるため、用途に応じてバイナリ転送やマルチパートフォームデータなど代替手段も検討することが重要です。

よくある質問

Q. 日本語や絵文字もエンコードできる?
はい、対応しています。このツールは内部で UTF-8 バイト列を経由して Base64 に変換するため、日本語・中国語・絵文字などのマルチバイト文字も正しくエンコード・デコードできます。
Q. URLセーフ Base64 と通常の Base64 の違いは?
通常の Base64 は「+」と「/」を使用しますが、これらは URL 中で特殊文字として扱われます。URLセーフ Base64 はこれらをそれぞれ「-」と「_」に置き換えたもので、パーセントエンコードなしに URL やファイル名として使用できます。
Q. 入力データはサーバーに送信されるの?
送信されません。エンコード・デコードはすべてブラウザ内の JavaScript で実行されます。機密情報を含む文字列も安全にご利用いただけます。
Q. デコードに失敗するのはなぜ?
Base64 文字列に無効な文字が含まれている、または文字列の長さが 4 の倍数でない(パディング不足)場合に失敗することがあります。URLセーフ形式(-や_を使用)の文字列をデコードする場合は「URLセーフ」チェックボックスをオンにしてください。

URLエンコード/デコードはこちら

URLに含まれる日本語や特殊文字のエンコード・デコードには、URLエンコード/デコードツールも合わせてご利用ください。

URL エンコード / デコード