Base64

Base64 文字列をエンコードおよびデコードする

入力
出力

Base64 とは何で、いつ使用されますか?

Base64 は、64 の印刷可能な ASCII 文字(A–Z, a–z, 0–9, `+`, `/`)のみを使用して任意のバイトを表現します。テキストを期待する場所にバイナリデータを埋め込むために使用されます — メール添付(MIME)、データ URI(`data:image/png;base64,...`)、JWT トークン、基本認証ヘッダー、設定ファイルなど。

エンコードには約 33% のオーバーヘッドが追加されます — 3 バイトの入力が 4 文字の出力になります。ブラウザのネイティブ `btoa`/`atob` は Latin-1 文字列のみを処理するため、このツールは適切な UTF-8 変換でラップして、絵文字や非ラテンテキストをエンコードする際の「範囲外の文字」エラーを回避します。

使用例

  • 小さなアセットをインラインで埋め込む — 1×1 トラッキングピクセルや SVG アイコンを CSS または HTML にペーストできるデータ URI に変換します。
  • プレーンテキストチャネルでバイナリをエンコード — protobuf、画像、または署名を Base64 でラップして、JSON、メール、またはクエリ文字列を安全に通過させます。
  • トークンやIDをエンコードします — これにより標準のBase64が出力されます。URLやファイル名で使用する場合は、`+`を`-`に、`/`を`_`に自分で入れ替えてください。
  • JWT と OAuth ステートを検査 — JWT の各セグメントを Base64 デコードして、オンラインデバッガーを信頼せずにヘッダーとペイロードを読み取ります。

入力結果
Hello, World!SGVsbG8sIFdvcmxkIQ==
Café ☕Q2Fmw6kg4piV

よくある質問

ブラウザのネイティブ btoa が絵文字で失敗するのはなぜですか?

`btoa` は Latin-1(単一バイト)文字のみを受け付けます。マルチバイトの UTF-8 シーケンスは「InvalidCharacterError」を引き起こします。このツールは、最初に UTF-8 バイトにエンコードし、その後 Base64 にエンコードします — すべての Unicode に対応します。

URL 安全な Base64 とは何ですか?

URLやファイル名で安全なように、`+`を`-`に、`/`を`_`に置き換えるバリアントです。注意:このツールは標準のBase64を出力するため、URL安全な形式が必要な場合は自分でその入れ替えを行ってください。

デコードされた出力が乱れているのはなぜですか?

Base64が破損しているか、URL安全であったか(このツールは標準のBase64をデコードします — まず`-`を`+`に、`_`を`/`に戻してください)、または最初からテキストではなかった可能性があります — Base64は通常、読み取り可能なテキストにデコードされないバイナリデータをエンコードします。

Base64 は安全ですか?

いいえ — Base64 はエンコーディングであり、暗号化ではありません。誰でもデコードできます。運搬用に使用し、秘密を隠すためには使用しないでください。

ツールは何かをログに記録しますか?

いいえ。エンコードとデコードはブラウザ内で行われ、サーバーには何も送信されません。