Base64 エンコード/デコード (テキスト)

Loading dropzone…

Input

Output

このBase64エンコーダーについて オンラインBase64エンコーダー

Encode64「Base64 Studio」の一部として、このエンコーダーはテキスト、JSON、小さなバイナリアセットをBase64文字列に変換し、ヘッダー、HTML/CSS、環境変数、テストフィクスチャに貼り付け可能にします。ログイン不要、インストール不要、サーバー側処理なし。

このBase64エンコーダーを使う理由

  • テキスト、JSON、小規模バイナリペイロードの即時Base64エンコード
  • ファイル対応(テキスト、画像、バイナリ)でBase64文字列への迅速変換
  • JWT、クエリパラメータ、Web安全コンテキスト向けURLセーフオプション
  • CLIツールやメール/PEM形式を模倣するオプションの改行設定
  • ワンクリックコピーでヘッダー、設定、コードへの再利用が容易
  • デスクトップとモバイルで快適に動作するレスポンシブUI
  • エンコードはブラウザ内で実行 — データがリモートサーバーに送信されません

🔧 Base64エンコードの仕組み(ステップバイステップ) for base64-encoder

1

入力を提供

テキスト、JSON、またはスニペットを入力エリアに貼り付けるか、ファイルをドロップして生バイトをBase64に変換します。ツールはバイトを正確に読み取ります。

2

バイトに変換

エンコーダーは文字(UTF-8テキストなど)やファイル内容をバイトに変換します。各バイトは0から255の8ビット値です。

3

ビットをBase64インデックスに再グループ化

3バイトごと(3 × 8 = 24ビット)を4つの6ビットグループ(4 × 6 = 24)に再編成します。各6ビットグループはBase64アルファベットへのインデックスです。

4

Base64文字にマッピング&パディング

各6ビットインデックスはBase64文字に変換されます。入力が3バイトで割り切れない場合、出力長が常に4文字の倍数になるよう '=' パディングが追加されます。

技術仕様

文字セット(RFC 4648)

このエンコーダーはRFC 4648で定義された標準Base64アルファベットを使用します。

範囲 / タイプ文字備考
インデックス 0–25A–Z大文字
インデックス 26–51a–z小文字
インデックス52–610–9数字
インデックス62–63+ /標準Base64記号
パディング=出力長を4の倍数に保証

サイズとオーバーヘッド

Base64はテキスト専用チャネルでの安全性のためにサイズを犠牲にします。エンコード後は約3分の1データ量が増加します。

元のサイズBase64サイズ(概算)オーバーヘッド
3バイト4文字約33%増加
1 KB≈ 1.37 KBパディングと改行を含め約37%
1 MB≈ 1.37 MB大規模でも同じ比率
Base64は安全なテキスト転送(HTTPヘッダー、JSON、HTMLなど)に使用し、圧縮方法としては使用しないでください。

パフォーマンスと実用限界

エンコード自体は高速ですが、大きなバッファはブラウザのメモリと応答性に影響を与える可能性があります。

ペイロードサイズユーザー体験推奨事項
数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.b64

input.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.b64

Windows組み込みツールを使用して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を生成するにはどうすればよいですか?

URLセーフBase64は '+' を '-' に、'/' を '_' に置き換え、末尾の '=' パディングを削除することが多いです。多くのライブラリにURLセーフモードがあります。手動で行う必要がある場合は、標準Base64から始め、これらの置換を適用し、使用ケースに応じて '=' をトリミングしてください。

🔒Base64エンコーディングはセキュリティ対策ですか?

いいえ。Base64は可逆的な**エンコーディング**であり、バイナリデータをテキストとして安全に転送できるようにします(例:JSON、HTML、ヘッダー内)。それ自体では機密性や完全性を提供しません。セキュリティのためには常にHTTPS/TLSと適切な暗号化(AESや公開鍵方式など)を使用してください。

📏ここでエンコードする最大ファイルサイズはどのくらいですか?

このオンラインエンコーダーは数メガバイトまでのペイロードに最も適しています。大きなバイナリでも動作する可能性がありますが、ブラウザでは遅くなったりメモリを多く消費したりする場合があります。大きなファイルには、コマンドラインツールやストリーミングエンコーダーの方が堅牢です。

Pro Tips

Performance Tip

非常に小さなアセット(10KB未満)の場合、Base64データURIとしてインライン化するとHTTPリクエストを減らせますが、大きな画像やフォントでは避けてください。

Security Tip

本番環境では、センシティブなコンテンツがログに漏れないように、Base64ペイロード(またはハッシュ)を切り詰めたもののみをログに記録してください。

Best Practice

バックエンドがBase64を期待する場合、不正な形式や過大なペイロードを拒否するために、サーバー側で入力を検証し正規化してください。

Additional Resources

Other Tools