入力
出力
Base64エンコードについて
Base64は、バイナリデータをASCII文字列として表すためのバイナリからテキストへのエンコード方式です。メール添付、HTML/CSSへの画像埋め込み、APIでのデータ送信など、テキストとして扱う必要があるデータの保存や転送によく使われます。
Base64エンコード & デコード完全ガイド
無料オンラインBase64エンコーダー & デコーダー
Base64文字列を無料でオンライン変換できます。テキストをBase64へエンコードしたり、Base64をプレーンテキストへすぐにデコードできます。API、データ送信、メール添付、HTML/CSS埋め込み、安全なデータ転送を扱う開発者に最適です。
主な機能
🔐 Base64へエンコード
- プレーンテキストをBase64へ変換
- 入力中にリアルタイム変換
- 任意のテキスト入力に対応
- 特殊文字を処理
- UTF-8エンコードに対応
🔓 Base64からデコード
- Base64をプレーンテキストへ復元
- 即時検証
- エラー検出
- 無効な文字を警告
- 形式を自動判定
⚡ リアルタイム処理
- 入力に合わせて自動変換
- 性能のため300msの遅延処理
- 手動ボタン不要
- 即時フィードバック
- 文字数をライブ表示
📊 統計
- 入力文字数
- 出力文字数
- サイズ比率
- リアルタイム更新
- エンコード効率の確認
💾 エクスポートオプション
- .txtファイルとしてダウンロード
- .htmlファイルとして出力
- .json形式で保存
- ワンクリックでコピー
- 複数形式に対応
🔄 便利機能
- 入力と出力を即時入れ替え
- サンプルテキスト
- 全消去ボタン
- エンコード/デコード切り替え
- ダークモード対応
このBase64ツールを使う理由
100%無料・無制限: 登録、サブスクリプション、サイズ制限なしでテキストをエンコード・デコードできます。
完全なプライバシー: すべての変換はJavaScriptを使ってブラウザー内で行われます。データはサーバーへアップロードされず、保存もされません。
即時処理: 入力または貼り付けと同時に、リアルタイムでエンコード・デコードします。
開発者に便利: 入れ替え、サンプルデータ、複数の出力形式、ライブ統計など、開発作業向けの機能を備えています。
エラー検出: デコード時にBase64文字列を自動検証し、無効な入力には分かりやすいエラーを表示します。
モバイル対応: デスクトップ、タブレット、スマートフォンで快適に使えるレスポンシブ設計です。
Base64へエンコードする方法
- エンコードモードを選択: エンコードボタンをクリックしてエンコードモードへ切り替えます。
- テキストを入力: 入力欄にプレーンテキストを貼り付けるか入力します。
- 自動エンコード: 入力中にツールがリアルタイムでBase64へ変換します。
- 出力を確認: 出力欄でBase64エンコード結果と文字数を確認します。
- コピーまたはダウンロード: コピーするか、TXT、HTML、JSONファイルとして保存します。
Base64をデコードする方法
- デコードモードを選択: デコードボタンをクリックしてデコードモードへ切り替えます。
- Base64文字列を貼り付け: 入力欄にBase64エンコード済み文字列を貼り付けます。
- 自動デコード: ツールがBase64文字列を自動で検証し、デコードします。
- エラーを確認: Base64が無効な場合は、問題を説明するエラーメッセージが表示されます。
- デコード結果を使用: 復元されたテキストをコピーするか、好みの形式でダウンロードします。
Base64エンコードとは?
Base64は、64種類のASCII文字 (A-Z、a-z、0-9、+、/) を使ってバイナリデータをテキスト形式に変換する方式です。メール、URL、HTML、CSS、JSON、XMLなど、テキストのみを扱う経路でデータを安全に送るために設計されています。
Base64の文字セット:
大文字: A-Z (インデックス0-25)
小文字: a-z (インデックス26-51)
数字: 0-9 (インデックス52-61)
特殊文字: + (インデックス62)、/ (インデックス63)
パディング文字: = (末尾の長さ調整に使用)
Base64の一般的な用途
メール添付: 画像、PDF、文書などのバイナリファイルをBase64テキストとしてエンコードし、メールプロトコル (MIME) で安全に送信します。
HTML/CSSへの画像埋め込み: 画像をBase64 data URIとしてHTMLやCSSに直接埋め込み、小さな画像やアイコンのHTTPリクエストを減らせます。
APIデータ転送: バイナリデータ、認証情報、トークンなどをREST API、Webhook、Webサービスで送信するためにエンコードします。
JSONデータ: JSONはテキストのみを扱うため、画像、ファイル、暗号鍵などのバイナリデータをBase64で含めることができます。
URLパラメータ: 複雑なデータ構造をURL内で扱いやすくするためにBase64化できます。ただしURLではBase64URL形式が適する場合があります。
データベース保存: バイナリ保存に制限がある場合、テキスト型フィールドへバイナリデータを格納する用途に使えます。
設定ファイル: YAML、JSON、XMLなどテキストのみの設定ファイル内に、パスワード、鍵、証明書などを表現する際に使われます。
こんな人に最適
- 画像を埋め込むWeb開発者
- API開発者・連携担当者
- バックエンド開発者
- DevOpsエンジニア
- メールシステム管理者
- データベース管理者
- セキュリティ担当者
- データアナリスト
- QAテスター
- システム連携担当者
- エンコードを学ぶ学生
- 技術ライター
Base64と他のエンコード方式
Base64 vs 16進エンコード: Base64は16進数よりコンパクトです。16進数は約100%増加しますが、Base64は通常約33%の増加で済むため、大きなデータでは効率的です。
Base64 vs URLエンコード: URLエンコードはURL向けに特殊文字を%XX形式へ変換します。Base64はデータ全体をテキスト化するため、バイナリデータに向きますが、URLではBase64URL形式が必要になることがあります。
Base64 vs 暗号化: Base64は暗号化ではありません。誰でもデコードできます。安全性が必要な場合はAESやRSAなどで暗号化してから、必要に応じてBase64化してください。
サイズ増加の理解
サイズの増加: Base64エンコードではデータサイズが約33%増加します。入力3バイトごとにBase64は4バイト分の出力を生成します。
なぜ増えるのか: Base64は1文字あたり6ビットを使います。3つの8ビットバイト (24ビット) が4つの6ビットBase64文字になりますが、保存時には各文字に8ビットが必要です。
例: "Hello" (5バイト) は "SGVsbG8=" (8バイト) になります。大きな入力ほど理論上の約33%増加に近づきます。
Base64のプロTips
- セキュリティ用途ではない: Base64はエンコードであり暗号化ではありません。機密情報を隠す目的では使わないでください。
- パディングを確認: 有効なBase64文字列は末尾の=など正しいパディングを持つ必要があります。
- サイズに注意: Base64はサイズが約33%増えます。大きなファイルでは圧縮やバイナリ転送も検討しましょう。
- 空白を削除: デコード時は改行、スペース、タブなどの空白を取り除くと問題を避けやすくなります。
- Data URIを使う: 小さな画像はBase64 data URIとしてHTML/CSSに埋め込むとHTTPリクエストを減らせます。
- URL安全なBase64: URLに含める場合は + を -、/ を _ に置き換えるBase64URL形式を使います。
- 使用前に検証: ユーザー入力のBase64データは、利用前に必ず検証しましょう。
- 圧縮してからエンコード: 大きなテキストはgzipなどで圧縮してからBase64化すると効率が良くなります。
- 入れ替え機能を使う: 入力と出力を入れ替えると、エンコードとデコードを素早く切り替えられます。
Base64の主な利用例
HTTP認証: Basic HTTP認証では username:password をBase64化してAuthorizationヘッダーに含めます。ただしHTTPSを必ず使うべきです。
JWTトークン: JSON Web Token (JWT) はヘッダーとペイロードにBase64URLエンコードを使います。
インライン画像: Base64 data URIを使うと、画像をHTML/CSSに直接埋め込めます。
メールエンコード: MIMEはメール添付やヘッダー内の非ASCII文字を扱うためにBase64を使用します。
XML/SOAP: Base64により、XML構文を壊さずにバイナリデータをXML文書やSOAPメッセージへ含められます。
ベストプラクティス
- 常にHTTPSを使う: Base64化した機密データを送信する場合は、必ずHTTPS/TLSで通信を保護してください。
- 入力サイズを検証: 非常に大きな入力によるメモリ問題を避けるため、適切なサイズ制限を設けましょう。
- エラーを丁寧に扱う: 無効なBase64文字列でアプリが停止しないよう、適切なエラーハンドリングを行います。
- 用途を文書化: コードベース内でBase64を使う理由と場所を明確に文書化しましょう。
- 代替手段も検討: 現代的なWebアプリでは、可能ならWebSocketやgRPCなどのバイナリプロトコルも検討します。
- 結果をキャッシュ: 同じデータを繰り返しエンコードする場合は、Base64結果をキャッシュすると効率的です。
- 境界ケースをテスト: 空文字、特殊文字、Unicode、長い入力でも正しく動作するか確認しましょう。
よくあるエラーの対処
"Invalid character" エラー: 入力にBase64の文字セット (A-Z、a-z、0-9、+、/、=) 以外の文字が含まれています。無効な文字を削除または置換してください。
"Invalid string length" エラー: Base64文字列の長さは4の倍数である必要があります。パディング (=) の不足や文字列の欠落を確認してください。
文字化けした出力: デコード後の文字がおかしい場合、元データがUTF-8でエンコードされていたか確認してください。
Base64内の改行: システムによっては読みやすさのため改行を追加します。デコード前に空白や改行を削除してください。
🔒 100%プライバシー保証
Base64のエンコードとデコードはすべてJavaScriptを使ってブラウザー内で実行されます。データが当サイトのサーバーへアップロード、保存、記録、第三者送信されることはありません。すべて端末上で処理され、機密情報のプライバシーと安全性を守ります。
Base64についてもっと学ぶ
Base64エンコードの仕組みを詳しく知りたいですか?アルゴリズム、パディング規則、data URIやメール添付の用途、使うべきでない場面を解説したガイドをご覧ください。
読む: Base64とは?