Base64エンコード・デコードツール
テキストをBase64形式へ変換、またはBase64文字列を元のテキストへ復元します。日本語・絵文字を含む文章やURLセーフ形式、データURIの貼り付けにも対応します。処理はすべてブラウザ内で完結し、入力内容がサーバーへ送信されることはありません。
Base64エンコード・デコードの使い方
モードを選ぶ
「エンコード」か「デコード」を切り替えます。エンコードはテキストをBase64へ、デコードはBase64を元のテキストへ戻します。
必要ならURLセーフ形式を有効にする
生成したBase64をURLやファイル名にそのまま使う場合は「URLセーフ形式」にチェックを入れます。+ / が - _ に置き換わり、末尾の = も省かれます。
テキストを入力する
入力欄に貼り付けると即座に結果が表示されます。デコード時は data:image/png;base64,... のようなデータURIをそのまま貼り付けても、プレフィックスを自動的に取り除いて処理します。
仕組みと考え方
Base64は、任意のバイト列を英数字と記号(+ / =、または URLセーフでは - _)だけの文字列へ変換する符号化方式です。本ツールはブラウザ標準の btoa() / atob() を使いますが、これらは1バイトずつの文字列しか扱えないため、日本語や絵文字を含むテキストはまず TextEncoder で UTF-8 のバイト列に変換してから渡しています。この変換を行わないと、日本語を含む文字列でエラーになります。
「URLセーフ形式」は、標準のBase64が使う + と / をそれぞれ - と _ に置き換え、末尾の埋め草文字(パディング)である = を省略したものです。URLのクエリパラメータやファイル名、Cookieの値など、+ / = が特別な意味を持つ場所でBase64を使う際に必要になります。デコード時は、この変換を逆にたどり、必要な長さになるよう = を補ってから元のアルゴリズムでデコードします。
デコード結果をテキストとして表示する際は、UTF-8として正しく解釈できるかを厳密にチェックしています(不正なバイト列は文字化けとして黙って表示せず、エラーとして知らせます)。画像や音声など、テキストではないデータをBase64にした文字列は、デコードしてもテキストとしては表示できません。
使いどころ・注意点
- Base64は暗号化ではない。誰でも同じ手順でデコードして元の内容を読めるため、秘匿したい情報の保護には使えない。
- メールの添付ファイル(MIME)やAPIのBasic認証ヘッダーなど、テキストしか扱えない仕組みにバイナリデータを埋め込む用途で使われることが多い。
- 画像をBase64にすると、元のバイト数よりおよそ33%大きくなる。ページの読み込み速度が気になる場合は、通常のファイル配信と使い分ける。
- URLやHTML属性の値として使う場合はURLセーフ形式を選ぶ。標準形式のままだと + や / が意図しない形で解釈されることがある。
よくある質問
入力したテキストは保存・送信されますか?
いいえ。エンコード・デコードともにブラウザ内のJavaScriptだけで処理し、当サイトのサーバーへは送信していません。
デコードすると文字化けします。
URLセーフ形式で作られたBase64を「URLセーフ形式」のチェックを外した状態でデコードしようとしている可能性があります。作成時と同じ形式を選んでデコードしてください。
画像ファイルをBase64にできますか?
本ツールはテキストの変換に対応しています。画像などのバイナリファイルをBase64にしたい場合は専用の画像変換手段が必要です。すでにdata:image/...;base64,... の形式で入力欄に貼り付けられたBase64部分をデコードすることはできますが、結果は画像データのバイト列であり、そのままテキストとしては表示できません。
パディング(=)は必要ですか?
標準形式では必要です。URLセーフ形式では省略されることが多く、本ツールのデコードは両方(パディングあり・なし)に対応しています。
Base64を使えば安全にデータを送れますか?
いいえ。Base64は符号化であって暗号化ではありません。誰でも同じ手順でデコードできるため、機密情報の保護にはHTTPSや適切な暗号化方式を使ってください。