Base64 エンコード/デコード (テキスト)
⚡ 開発者とパワーユーザー向けの無料オンラインBase64エンコーダー。テキスト、JSON、バイナリファイルを即座にBase64文字列に変換します。🔐 API、ヘッダー、データURI、テストに最適です。すべてのエンコーディングはブラウザ内で行われます。
このBase64エンコーダーを使う理由
- テキスト、JSON、小さなバイナリペイロードの即時Base64エンコード
- ファイル対応(テキスト、画像、バイナリ)でBase64文字列への迅速な変換
- JWT、クエリパラメータ、Web安全コンテキスト向けのURLセーフオプション
- CLIツールやメール/PEM形式を模倣するオプションの行折り返し
- ワンクリックコピーでヘッダー、設定、コードへの再利用が簡単
- デスクトップとモバイルで快適に動作するレスポンシブUI
- エンコードはブラウザ内で実行 — データはリモートサーバーに送信されません
🔧 Base64エンコードの仕組み(ステップバイステップ) for base64-encoder
入力を提供
テキスト、JSON、またはスニペットを入力エリアに貼り付けるか、ファイルをドロップして生バイトをBase64に変換します。ツールはバイトを正確にそのまま読み取ります。
バイトに変換
エンコーダーは文字(UTF-8テキストなど)やファイル内容をバイトに変換します。各バイトは0から255の間の8ビット値です。
ビットをBase64インデックスに再グループ化
3バイトごと(3 × 8 = 24ビット)を4つの6ビットグループ(4 × 6 = 24)に再グループ化します。各6ビットグループはBase64アルファベットへのインデックスです。
Base64文字にマッピング&パディング
各6ビットインデックスはBase64文字に変換されます。入力が3バイトで割り切れない場合、出力長が常に4文字の倍数になるように「=」パディングが追加されます。
技術仕様
文字セット(RFC 4648)
このエンコーダーはRFC 4648で定義された標準Base64アルファベットを使用します。
| 範囲 / タイプ | 文字 | 備考 |
|---|---|---|
| インデックス 0–25 | A–Z | 大文字 |
| インデックス 26–51 | a–z | 小文字 |
| インデックス 52–61 | 0–9 | 数字 |
| インデックス 62–63 | + / | 標準 Base64 記号 |
| パディング | = | 出力長を4の倍数にする |
サイズとオーバーヘッド
Base64は、テキスト専用チャネルでの安全性のためにサイズを犠牲にします。エンコード後は約3分の1データが増加します。
| 元のサイズ | Base64サイズ(概算) | オーバーヘッド |
|---|---|---|
| 3バイト | 4文字 | 約33%増加 |
| 1 KB | ≈ 1.37 KB | パディングと改行を含め約37% |
| 1 MB | ≈ 1.37 MB | 大規模でも同じ比率 |
パフォーマンスと実用的な制限
エンコード自体は高速ですが、大きなバッファはブラウザのメモリと応答性に影響を与える可能性があります。
| ペイロードサイズ | ユーザー体験 | 推奨事項 |
|---|---|---|
| 数KB | 瞬時 | ヘッダー、設定スニペット、テストデータに最適 |
| 100 KB – 1 MB | 非常に応答性が良い | APIペイロードやフィクスチャの典型的なサイズ |
| 1–5 MB | 最新ハードウェアでは概ね問題なし | 頻繁に行う場合はCLIツールの使用を検討 |
| > 5–10 MB | ブラウザで動作が遅く、メモリ使用量が多い場合があります | ストリーミングエンコーダーまたはCLIユーティリティを使用してください |
コマンドラインでのBase64エンコード
大容量ファイル、自動化、またはCIワークフローでは、プラットフォームのネイティブBase64ユーティリティを使用してください。
Linux / 🍏 macOS
文字列をエンコード
echo -n 'text' | base64文字列「text」を改行なしでBase64にエンコードします。
ファイルをエンコード
base64 input.bin > output.b64input.binからバイナリデータを読み取り、Base64テキストをoutput.b64に書き込みます。
Windows / PowerShell
PowerShellで文字列をエンコード
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("text"))「text」のUTF-8バイト列をBase64文字列に変換します。
certutil(CMD)でファイルをエンコード
certutil -encode input.bin output.b64Windows組み込みツールを使用してBase64エンコードされたファイルを作成します。
実用的なアプリケーション
Web開発とデータURI
小さなアセットやリソースをHTML、CSS、JavaScriptに直接埋め込みます。
- ロゴ、アイコン、小さな画像用にdata:image/...;base64,...を生成。
- CSSルール内でフォントやSVGコンテンツをインライン化。
- 小さなペイロードをBase64文字列としてLocalStorageに保存。
<img src="data:image/png;base64,iVBORw0KGgo...">document.styleSheets[0].insertRule("@font-face{src:url('data:font/woff2;base64,...')}" );API開発とヘッダー
認証情報や小さなペイロードをテキストのみのチャネルで安全に転送します。
- ユーザー名:パスワードのペアからAuthorization: Basicヘッダーを構築。
- JSONペイロードをBase64にエンコードしてカスタムヘッダーやクエリパラメータに使用。
- バイナリデータをBase64文字列としてJSONにラップ。
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=fetch(url, { headers: { 'X-Payload': btoa(JSON.stringify(data)) } });テスト、フィクスチャ、デバッグ
テストやデバッグセッション用に安定したテキストのみのフィクスチャを構築します。
- バイナリフィクスチャ(画像、PDF)をエンコードしてテストコードに埋め込み。
- サンプルペイロードをバイナリファイルとしてコミットする代わりにBase64文字列として保存。
- Base64エンコードされたフィールドを期待するサービスのためのプロトタイプペイロード。
// 例: Base64フィクスチャを使用したJestテスト
const payload = Buffer.from(base64Fixture, 'base64');
expect(processPayload(payload)).toBeTruthy();
❓ Frequently Asked Questions
❓Base64はなぜ '=' パディングを使用するのですか?
Base64は入力を3バイト(24ビット)のブロックにグループ化し、4文字(4×6ビット)を出力します。入力長が3で割り切れない場合、最後のブロックが短いことを示すために '=' パディング文字が追加されます。このパディングは元のデータではなく、エンコード形式の一部です。🔗URLセーフなBase64はどのように生成しますか?
Base64は '+' を '-' に、'/' を '_' に置き換え、末尾の '=' パディングを削除することが多いです。多くのライブラリにURLセーフモードがあります。手動で行う必要がある場合は、標準のBase64から始め、これらの置換を適用し、ユースケースに応じて '=' をトリミングしてください。🔒Base64エンコーディングはセキュリティ対策ですか?
Base64は、バイナリデータをテキストとして安全に転送できるようにする(例えばJSON、HTML、ヘッダー内で)可逆的な**エンコーディング**です。それ自体では機密性や完全性を提供しません。セキュリティのためには常にHTTPS/TLSと適切な暗号化(AESや公開鍵方式など)を使用してください。📏ここでエンコードする最大ファイルサイズはどのくらいですか?
Pro Tips
非常に小さなアセット(< 10 KB)の場合、Base64データURIとしてインライン化するとHTTPリクエストを削減できますが、大きな画像やフォントではこれを避けてください。
本番環境では、ログに機密コンテンツが漏洩しないように、切り詰めたBase64ペイロード(またはハッシュ)のみを記録してください。
バックエンドがBase64を期待する場合、不正な形式や過大なペイロードを拒否するために、サーバー側で入力を検証し正規化してください。
Additional Resources
Other Tools
- CSSビューティファイア
- HTMLビューティファイア
- JavaScriptビューティファイア
- PHPビューティファイア
- カラーピッカー
- スプライト抽出ツール
- Base32 バイナリエンコーダー
- Base32 デコーダー
- Base32 エンコーダー
- Base58 バイナリエンコーダー
- Base58 デコーダー
- Base58 エンコーダー
- Base62 バイナリエンコーダー
- Base62 デコーダー
- Base62 エンコーダー
- Base64 バイナリエンコーダー
- Base64デコーダー
- 16進数バイナリエンコーダー
- 16進数デコーダー
- 16進数エンコーダー
- C#フォーマッタ
- CSVフォーマッタ
- Dockerfile Formatter
- Elmフォーマッタ
- ENVフォーマッタ
- Goフォーマッタ
- GraphQLフォーマッタ
- HCLフォーマッタ
- INIフォーマッタ
- JSONフォーマッタ
- LaTeXフォーマッタ
- Markdownフォーマッタ
- Objective-Cフォーマッタ
- Php Formatter
- Protoフォーマッタ
- Pythonフォーマッタ
- Rubyフォーマッタ
- Rustフォーマッタ
- Scalaフォーマッタ
- シェルスクリプトフォーマッタ
- SQLフォーマッタ
- SVG フォーマッタ
- Swift フォーマッタ
- TOML フォーマッタ
- Typescript Formatter
- XML フォーマッタ
- YAML フォーマッタ
- Yarn フォーマッタ
- CSSミニファイア
- Html Minifier
- Javascript Minifier
- JSONミニファイア
- XML ミニファイア
- HTTPヘッダービューア
- PDFからテキストへ
- 正規表現テスター
- SERPランクチェッカー
- Whois ルックアップ