Base64 エンコード/デコード (テキスト)
Input
Output
この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
非常に小さなアセット(10KB未満)の場合、Base64データURIとしてインライン化するとHTTPリクエストを減らせますが、大きな画像やフォントでは避けてください。
本番環境では、センシティブなコンテンツがログに漏れないように、Base64ペイロード(またはハッシュ)を切り詰めたもののみをログに記録してください。
バックエンドがBase64を期待する場合、不正な形式や過大なペイロードを拒否するために、サーバー側で入力を検証し正規化してください。
Additional Resources
Other Tools
- CSSビューティファイア
- HTMLビューティファイア
- JavaScriptビューティファイア
- PHPビューティファイア
- カラーピッカー
- スプライト抽出ツール
- Base64デコーダー
- 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 ルックアップ