Base64 エンコード/デコード
このツールでできること
Base64 エンコード/デコードツールは、テキスト(UTF-8)をBase64形式にエンコードしたり、Base64文字列を元のテキストにデコードしたりできる無料オンラインツールです。日本語(マルチバイト文字)にも完全対応。APIトークンの確認、Data URIの作成、メール添付データの解読など、開発・運用の幅広い場面で活用できます。
特徴
- 双方向変換 — テキスト→Base64(エンコード)、Base64→テキスト(デコード)の両方に対応。ボタン1つで即座に変換されます。
- UTF-8完全対応 — 日本語・中国語・絵文字などのマルチバイト文字も正しくエンコード/デコードします。ブラウザ標準の btoa/atob では日本語が文字化けしますが、本ツールはTextEncoder/TextDecoderで正しく処理します。
- ブラウザ完結・サーバー送信なし — 変換処理はすべてお使いのブラウザ内で完結します。APIキーやトークンなどの機密情報も安心して変換できます。
- ワンクリックコピー — 入力・出力それぞれに「コピー」ボタンがあり、変換結果をすぐにクリップボードに取得できます。
- 登録・インストール不要 — ブラウザでアクセスするだけですぐに使えます。
使い方
- 上の「テキスト(UTF-8)」欄にエンコードしたい文字列を入力します。
- 「エンコード ▼」ボタンを押すと、下の「Base64」欄に変換結果が出力されます。
- 逆にデコードしたい場合は、下の「Base64」欄にBase64文字列を貼り付け、「▲ デコード」ボタンを押すと上の欄に元のテキストが表示されます。
- 「コピー」ボタンで変換結果をクリップボードにコピーし、エディタやターミナルに貼り付けて利用できます。
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 URI —
data: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 のブラウザからも利用できます。