Base64 エンコード/デコード

このツールでできること

Base64 エンコード/デコードツールは、テキスト(UTF-8)をBase64形式にエンコードしたり、Base64文字列を元のテキストにデコードしたりできる無料オンラインツールです。日本語(マルチバイト文字)にも完全対応。APIトークンの確認、Data URIの作成、メール添付データの解読など、開発・運用の幅広い場面で活用できます。

特徴

  • 双方向変換 — テキスト→Base64(エンコード)、Base64→テキスト(デコード)の両方に対応。ボタン1つで即座に変換されます。
  • UTF-8完全対応 — 日本語・中国語・絵文字などのマルチバイト文字も正しくエンコード/デコードします。ブラウザ標準の btoa/atob では日本語が文字化けしますが、本ツールはTextEncoder/TextDecoderで正しく処理します。
  • ブラウザ完結・サーバー送信なし — 変換処理はすべてお使いのブラウザ内で完結します。APIキーやトークンなどの機密情報も安心して変換できます。
  • ワンクリックコピー — 入力・出力それぞれに「コピー」ボタンがあり、変換結果をすぐにクリップボードに取得できます。
  • 登録・インストール不要 — ブラウザでアクセスするだけですぐに使えます。

使い方

  1. 上の「テキスト(UTF-8)」欄にエンコードしたい文字列を入力します。
  2. 「エンコード ▼」ボタンを押すと、下の「Base64」欄に変換結果が出力されます。
  3. 逆にデコードしたい場合は、下の「Base64」欄にBase64文字列を貼り付け、「▲ デコード」ボタンを押すと上の欄に元のテキストが表示されます。
  4. 「コピー」ボタンで変換結果をクリップボードにコピーし、エディタやターミナルに貼り付けて利用できます。

Base64とは?

Base64は、バイナリデータ(画像・音声・任意のバイト列)をASCII文字列に変換するエンコード方式です。RFC 4648で標準化されており、使用される文字は A-Z(26文字)、a-z(26文字)、0-9(10文字)、+、/ の計64文字と、パディング用の = です。

元のデータを6ビットずつに区切り、それぞれを1文字に対応させるため、変換後のデータサイズは元の約1.33倍(4/3倍)になります。暗号化ではなく「テキストとして安全に転送するためのエンコード」であり、誰でもデコードできる点に注意してください。

Base64が使われる場面

  • メール(MIME) — メールの添付ファイルはBase64でエンコードされてテキストとして送信されます。
  • Data URIdata:image/png;base64,... のように、HTML/CSSに画像を直接埋め込むときに使います。
  • APIトークン・認証 — Basic認証のヘッダー(Authorization: Basic dXNlcjpwYXNz)やJWTの各パートはBase64でエンコードされています。
  • 設定ファイル — Kubernetesの Secret や CI/CDの環境変数で、バイナリデータをBase64エンコードして保存する場面があります。
  • XMLやJSON内のバイナリ — テキスト形式のデータフォーマットにバイナリを含めるときに使用します。

こんなときに使えます

  • APIトークンの中身を確認したいとき — JWT(JSON Web Token)のペイロード部分をデコードして内容を確認。
  • Basic認証の値を作りたいとき — 「ユーザー名:パスワード」をBase64エンコードしてAuthorizationヘッダーを作成。
  • Data URIを作成したいとき — 小さな画像やアイコンをBase64に変換してHTML/CSSに直接埋め込み。
  • メールのソースを読みたいとき — メールのrawソースに含まれるBase64エンコード部分をデコードして本文を確認。
  • Kubernetes Secretの値を確認したいときkubectl get secret で取得したBase64値をデコードして中身をチェック。

Base64エンコード/デコードで注意すべきこと

Base64は便利ですが、いくつかの注意点があります。

  • 暗号化ではない — Base64はエンコードであり暗号化ではありません。Base64でエンコードされたデータは誰でもデコードできます。パスワードや秘密鍵の保護には使えません。
  • データサイズが約33%増加する — Base64変換後のデータは元の約1.33倍のサイズになります。大きなファイルの転送には不向きです。
  • 改行の扱い — MIMEなどでは76文字ごとに改行が入ることがあります。デコードする際は改行を除去してからデコードしてください。
  • URL安全なBase64 — 通常のBase64に含まれる +/ はURLで特殊文字になるため、URL安全なBase64(Base64url)では -_ に置き換えます。JWTではBase64urlが使用されます。

よくある質問

無料で使えますか?
はい、完全無料です。回数制限・登録・ログインも一切ありません。
入力したデータはサーバーに送信されますか?
いいえ。エンコード・デコードはすべてお使いのブラウザ内(JavaScript)で処理されます。当サイトのサーバーにデータが送信されることはありません。
日本語のBase64エンコードがうまくいきません。なぜですか?
JavaScriptの標準関数 btoa() はLatin-1(ISO 8859-1)しか扱えないため、日本語を直接渡すとエラーになります。本ツールでは TextEncoder/TextDecoder を使ってUTF-8バイト列に変換してからBase64処理するため、日本語も正しく変換できます。
画像やファイルもBase64変換できますか?
現在のバージョンはテキスト入力のみ対応しています。ファイルのBase64変換は今後のアップデートで対応予定です。
Base64とBase64urlの違いは何ですか?
標準のBase64は + / = を使いますが、これらはURLの特殊文字と衝突します。Base64url(RFC 4648 §5)では +-/_ に置き換え、パディングの = を省略します。JWTなどURL内で使用する場面ではBase64urlが使われます。
スマートフォンでも使えますか?
はい。レスポンシブ対応なので、iPhone・Android のブラウザからも利用できます。