Base64 エンコード・デコード

テキストやファイルをBase64にエンコードし、Base64を元に戻します。日本語や絵文字はUTF-8で扱い、URLセーフ形式・データURLにも対応。デコード結果はファイルとして保存できます。

Base64は暗号化ではありません。誰でも元に戻せるため、パスワードや秘密の情報を隠す目的には使えません。

処理
入力の種類

選択したファイルは、お使いの端末のブラウザ内で処理されます。当サイトのサーバーへ送信・保存することはありません。アクセス解析の取り扱いはプライバシーポリシーをご確認ください。

使い方

  1. 「エンコード」または「デコード」を選びます。
  2. エンコードでは「テキスト」か「ファイル」を選びます。ファイルを選ぶとすぐにBase64になります。HTMLやCSSに埋め込むなら「データURL形式にする」、URLやファイル名に使うなら「URLセーフ」をオンにします。
  3. デコードでは、Base64またはデータURL(data:…;base64,…)を貼り付けて「デコードする」を押します。標準形式とURLセーフ形式は自動で読み分けます。
  4. 結果を「コピー」するか、「ファイルとして保存」で保存します。「結果を入力に戻す」で逆方向の変換をすぐ試せます。

対応形式と制限

  • テキスト入力は5MB、ファイルは5MBまでです。
  • テキストはUTF-8として扱います。Shift_JISなど他の文字コードで作られたBase64は、元の文字に戻せません。入力欄の改行はブラウザの仕様でLFとしてエンコードされます。
  • デコード結果がUTF-8のテキストでない場合(画像などのバイナリ)は文字として表示せず、16進ダンプと保存ボタンを表示します。保存時の拡張子は、データURLの種類か、PNG・JPEG・GIF・WebP・PDF・ZIPなどの先頭バイトから判断し、わからなければ .bin にします。
  • データURLは標準のBase64で出力するため、URLセーフの設定は無視します。Base64でないデータURL(「;base64,」がないもの)はデコードできません。
  • Base64は暗号化ではありません。誰でも元に戻せます。

計算・変換の仕組み

エンコードはテキストをUTF-8のバイト列にしてから、RFC 4648のBase64に変換します。ファイルはバイト列をそのまま変換します。URLセーフ形式では + / の代わりに - _ を使い、末尾の = を省きます。

データURLは「data:ファイルの種類;base64,」の後にBase64を付けたものです(RFC 2397)。ファイルの種類はブラウザが判定したものを使います。

デコードは標準形式とURLセーフ形式のどちらも受け付けます。空白と改行は無視し、末尾の = が足りない場合も補って読み取ります。Base64に使えない文字があれば、その位置を表示します。

デコードしたバイト列は厳密なUTF-8として読み取ります。不正なバイトがある場合は文字化けした文字を表示せず、テキストではないと表示します。

よくある質問

Base64で暗号化できますか?

できません。Base64はデータを文字で表すための変換方法で、誰でも元に戻せます。秘密の情報の保護には使わないでください。

画像をBase64やデータURLにできますか?

できます。「ファイル」を選んで画像を選択し、必要なら「データURL形式にする」をオンにします。結果は <img src="…"> やCSSの url() にそのまま使えます。

URLセーフ形式とは何ですか?

URLやファイル名で特別な意味を持つ + と / を、- と _ に置き換えた形式です。末尾の = も省きます(RFC 4648の base64url)。デコード時はどちらの形式も自動で読み取ります。

デコードすると「UTF-8のテキストではない」と表示されます。

元のデータが画像などのバイナリか、UTF-8以外の文字コードのテキストです。保存ボタンでバイト列をそのままファイルにできます。

入力した内容やファイルは送信されますか?

いいえ。変換はすべてブラウザ内で行い、入力内容やファイルを保存・送信しません。

最終更新日: