Base64エンコーダー&デコーダー
Base64のデコード・エンコードが無料でオンラインで行えます。リアルタイム変換、UTF-8・絵文字対応。100%ブラウザ上で動作しデータは外部に送信されません。登録不要。
Base64とは?
Base64はRFC 4648で定義されたバイナリからテキストへのエンコード方式で、任意のバイナリデータを64文字のアルファベットを使って安全なASCII文字列表現に変換します。インターネット上で最も広く使われているエンコーディングの一つであり、メールの添付ファイルからJSON Web Token、TLS証明書まで、あらゆるものを支えています。
RFC 4648の第1節にあるように:「Base64エンコーディングは、任意のオクテットシーケンスを人間が読める形式である必要のない形で表現するために設計されている。」
Base64は入力を3バイト(24ビット)のグループに分割し、その24ビットを4つの6ビットグループに分け、それぞれを64種類の印字可能文字のいずれかにマッピングします:A-Z(0-25)、a-z(26-51)、0-9(52-61)、+(62)、/(63)。入力の長さが3の倍数でない場合、=文字で出力をパディングします。Base64エンコーディングはデータサイズを約33%増加させます(RFC 4648)。これは、バイナリデータをテキスト専用チャネルで安全にやり取りするための意図的なトレードオフです。
Base64はもともと、メール(MIME)や初期のHTTPなど、テキストのみをサポートするチャネルでバイナリデータを安全に送信するために設計されました。今日ではあらゆる場面で使われています:データURIはHTMLに画像を埋め込み、JWTトークンはクレームをエンコードし、PEM証明書は鍵をラップし、APIはJSONでバイナリペイロードを転送します。
Base64エンコーダーは生のバイトをこの安全なASCII表現に変換し、デコーダーはそのプロセスを逆に行います。このツールのすべてのエンコード・デコード処理は完全にブラウザ内で実行されます。データがサーバーにアップロードされることは一切ないため、APIキー、トークン、その他の機密データにも安全にご利用いただけます。
この無料オンラインBase64変換ツールを使って、ブラウザ上で即座にBase64をテキストにデコード、またはテキストをBase64にエンコードできます。
Base64は他のエンコーディングやデータツールと併用されることがよくあります。たとえば、APIペイロードのためにBase64エンコードする前に[JSONデータをフォーマット](/tools/json-formatter)したり、Base64エンコードされたダウンロードをデコードした後に[MD5やSHA-256でファイルのチェックサム](/tools/md5-hash-generator)を検証したりする場面があります。
// Encode plain text to Base64
const encoded = btoa('Hello, World!');
console.log(encoded); // → 'SGVsbG8sIFdvcmxkIQ=='
// Decode Base64 back to text
const decoded = atob('SGVsbG8sIFdvcmxkIQ==');
console.log(decoded); // → 'Hello, World!'
// UTF-8 safe encode (handles Chinese, emoji, any Unicode)
function encodeBase64(str) {
const bytes = new TextEncoder().encode(str); // to UTF-8 bytes
return btoa(String.fromCharCode(...bytes));
}
console.log(encodeBase64('你好')); // → '5L2g5aW9' 主な機能
リアルタイム変換
入力と同時にエンコード・デコードが即座に行われます。ボタンをクリックする必要はなく、結果がすぐに表示されます。
完全なUTF-8サポート
TextEncoder/TextDecoderを使用して、日本語、中国語、韓国語、アラビア語、絵文字などすべてのUnicodeテキストを正しく処理します。
双方向変換
どちらのエリアにも入力可能です。左側のプレーンテキストは右側でBase64にエンコードされ、右側のBase64は左側でテキストにデコードされます。
100%ブラウザベース
すべての処理はブラウザ内でローカルに行われます。データがデバイスの外に出ることはありません。サーバーへのアップロードもトラッキングもありません。
エラー検出
無効なBase64入力を即座に検出し、わかりやすいエラーメッセージを表示するため、修正箇所がすぐにわかります。
ワンクリックコピー
各エリアのコピーボタンで、エンコードまたはデコードの結果を即座にクリップボードにコピーできます。
使用例
プレーンテキスト
Hello, World!
SGVsbG8sIFdvcmxkIQ==
シンプルなASCIIテキストをBase64にエンコードした例です
UTF-8テキスト
你好世界 🌍
5L2g5aW95LiW55WMIPCfjI0=
中国語の文字と絵文字をUTF-8エンコーディングで正しく処理します
JSONデータ
{"user":"alice","role":"admin"} eyJ1c2VyIjoiYWxpY2UiLCJyb2xlIjoiYWRtaW4ifQ==
URLやヘッダーに埋め込むためにJSONペイロードをエンコードします
複数行テキスト
Line 1 Line 2 Line 3
TGluZSAxCkxpbmUgMgpMaW5lIDM=
Base64は改行や空白文字も正しく保持します
使い方
- 1
テキストまたはBase64を入力
左側の「テキスト」エリアにエンコードしたいテキストを入力するか、右側の「Base64」エリアにデコードしたいBase64文字列を貼り付けます。変換は即座に双方向で行われます。
- 2
リアルタイムで結果を確認
入力すると同時にもう一方のエリアが自動更新されます。無効なBase64などのエラーがあれば即座に表示されます。
- 3
結果をコピー
各エリアのコピーボタンをクリックすると、エンコードまたはデコードの結果をクリップボードにコピーできます。
一般的なユースケース
- データURIの生成
- 画像やファイルをBase64にエンコードし、データURIとしてHTMLやCSSに直接埋め込みます。
- JWTのデバッグ
- Base64エンコードされたJWTトークンのヘッダーとペイロードをデコードして、クレームや有効期限を確認します。
- API開発
- JSON APIで送信するバイナリデータをエンコードしたり、Base64レスポンスをデコードして内容を検査したりします。
- メールエンコーディング
- MIMEエンコードされたメールのコンテンツや添付ファイルのエンコード・デコードを行います。
- 証明書の検査
- PEMエンコードされた証明書や鍵をデコードして、バイナリコンテンツの内容を確認します。
- 設定データの埋め込み
- 環境変数や設定ファイルに安全に埋め込むために、設定データやシークレットをエンコードします。
技術的な詳細
- RFC 4648準拠
- RFC 4648で定義されている標準Base64エンコーディング(A-Z、a-z、0-9、+、/のアルファベットと=パディング)を実装しています。
- TextEncoderによるUTF-8処理
- Web APIのTextEncoderを使用してUnicode文字列をUTF-8バイト列に変換してからエンコードするため、すべてのスクリプトと絵文字を正しく処理します。
- ブラウザベースの処理
- すべてのエンコーディングはネイティブのbtoa()/atob()とTextEncoder/TextDecoderを使用しています。外部ライブラリもサーバー通信も不要です。
ベストプラクティス
- セキュリティ目的で使用しない
- Base64はエンコーディングであり、暗号化ではありません。パスワード、トークン、機密データの「保護」に使用しないでください。必ず適切な暗号化を使用してください。
- サイズ増加に注意する
- Base64はデータサイズが約33%増加します。大きなファイルの場合は、Base64エンコードの代わりにバイナリ転送を検討してください。
- UTF-8エンコーディングを使用する
- 非ASCII文字(日本語、絵文字など)を正しく処理するために、Base64エンコード前に必ずテキストをUTF-8バイト列に変換してください。
よくある質問
Base64エンコードとは何ですか?
このツールを使うとき、データの安全性は大丈夫ですか?
日本語や絵文字などの非ASCII文字はどのように処理されますか?
Base64は暗号化ですか?
Base64はどのような場面で使われていますか?
Base64とURL安全なBase64の違いは何ですか?
Base64エンコードするとデータサイズが大きくなるのはなぜですか?
ファイルをBase64にエンコードするにはどうすればよいですか?
HTMLやCSSでBase64を使用できますか?
最大入力サイズはどれくらいですか?
Base64のアルファベットにはどの文字が含まれますか?
HTMLメールテンプレートに小さな画像を埋め込みたいのですが、Base64データURIと外部ホスティングのどちらを使うべきですか?
Base64エンコードされた文字列に+や/が含まれていてURLパラメータが壊れるのですが、なぜですか?
JWTトークンをデコードしたいのですが、Base64URLデコードはどのように機能し、標準Base64との違いは何ですか?
関連ツール
すべてのツールを見る →JSONフォーマッター&バリデーター
エンコーディングとフォーマット
無料オンラインJSON整形ツール。ブラウザ上でJSONのフォーマット、構文検証、圧縮を即座に実行。エラー検出、ワンクリックコピー対応。データは端末外に送信されず、100%プライバシー保護。
進数変換ツール — 2進数・16進数・10進数・8進数
単位変換
無料オンライン進数変換ツール。2進数、8進数、10進数、16進数および任意の基数(2-36)間で数値を瞬時に変換。BigInt対応で桁数制限なし。登録不要・サーバー送信なし、すべての処理がブラウザ内で完結。コピーボタンやコードリテラル出力で開発作業を効率化。
画像圧縮ツール — JPEG・PNG・WebP を無料でオンライン圧縮
単位変換
無料オンライン画像圧縮ツール。JPEG、PNG、WebP 画像をブラウザ上で最大 80% 縮小。サーバーへのアップロード不要で完全プライベート。最大 20 枚の一括圧縮、品質調整、圧縮前後の比較機能を搭載。登録不要ですぐに使えます。
長さ単位変換ツール — メートル法・ヤードポンド法・天文単位対応
単位変換
1インチ = 2.54 cm、1フィート = 0.3048 m、1マイル = 1.609 km。メートル法・ヤードポンド法・海里・天文単位を含む16種類の長さ単位を即時変換。無料、ブラウザ完結、データ送信なし。
MD5ハッシュジェネレーター&ファイルチェックサムツール
セキュリティツール
無料オンラインMD5ハッシュ生成ツール。ブラウザ上でMD5・SHA-256・SHA-1・SHA-512のハッシュ値を即座に生成。テキストやファイルのチェックサム検証・比較、ワンクリックコピー対応。登録不要でデータはサーバーに送信されません。
ランダムパスワードジェネレーター
セキュリティツール
無料のオンラインランダムパスワード生成ツール。ブラウザ上で安全な強力パスワードを即座に自動生成できます。長さや文字種のカスタマイズ、最大50個の一括生成に対応。エントロピー分析付き強度メーター搭載。データはサーバーに送信されません。