Files, Binary & Compression

ファイルBase64変換元のファイルにも復元

バイナリを直接読み取り、必要な文字列表現を選べます。

ファイルBase64変換

ファイルまたはBase64入力

ファイルを1つドロップするか選択してください(600,000バイトまで)。

ファイル未選択です。

エンコード結果

ファイルと文字列はこのブラウザ内に留まり、変換処理は通信を行いません。

ファイルとエンコードの設定

MIMEは形式の申告であり、確認済みの識別情報ではありません。Data URLではヘッダー、プレーン形式ではこの欄の値を使います。

標準Base64(+ /)のみ。デコードは正確なパディングか省略を受け付け、未使用の末尾ビットがゼロ以外なら拒否します。Data URLはdata:type/subtype;base64,payload形式で、パラメーターやパーセントエンコードは使えません。

ファイルと復元結果は600,000バイトまで。エンコード入力はヘッダーと空白を含め1,000,000 UTF-16単位まで。空ファイルと手動変換した空のプレーン入力も有効です。

画像プレビューはオフです。

ファイルを選択、Base64を入力、またはサンプルを確認してください。

逆方向に使う完全な結果を先に確認できます。方向を切り替えても両方の入力は残り、クリアは確認後に両方を削除します。

ファイルBase64変換は、文字列しか受け付けない処理に小さな添付ファイルを渡すときに使えます。このBase64ファイル変換ツールはPDFや圧縮ファイルもバイト列として読み取るため、有効なUTF-8である必要はありません。復元時も文字として解釈せず、そのままファイルに保存します。

ファイルエンコードではプレーン形式とdata URIを選択できます。デコード時も入力形式を明示してください。MIME情報や拡張子は内容の説明にすぎず、変更してもファイル形式は変わりません。表示が途中で切れていても、コピーとダウンロードには完全な結果が使われます。

ファイルBase64変換を使う場面

文字として解釈せずに復元

ファイルBase64変換なら、小さなバイナリを文字列として受け渡し、同じバイトに戻せます。ファイル保存の前にテキスト変換を挟まないため、ゼロバイトやUTF-8ではないデータも元の並びのまま扱えます。

ファイルのバイト列をBase64で表し、同じバイト列へ戻す流れ。

表示するかは後から選択

デコード成功は内容を表示できるという意味ではありません。画像プレビューは最初はオフで、制限内の静止PNG・JPEG・WebPだけを表示します。画像の確認ができない場合でも、復元したファイルは保存できます。

画像プレビューの可否を、完全なファイルの保存とは別に確認する様子。

表示形式と更新タイミングの確認

01

ヘッダーの有無で形式を選ぶ

プレーンBase64には種類の情報がありません。data:type/subtype;base64,payloadが付いていればData URLを選択します。パラメーター付きヘッダーは受け付けず、デコードにはヘッダー内のMIMEを使います。

02

古い結果をそのまま保存しない

自動変換は変更後350 ms待って実行します。オフなら変換ボタンかCtrl/Cmd+Enterで実行できます。入力や関連設定を変えるとコピーと保存は直ちに無効になり、次の変換成功後に戻ります。

03

置換の影響を数で確かめる

ファイルの差し替え、サンプル、クリア、逆方向への使用はバイト数と文字列長を先に表示します。適用で確定し、元に戻すで以前の入力・設定・結果を一度だけ復元できます。キャンセルでは入力を変更しません。

バイト列と付加情報を分けて扱う

省略表示でも出力は完全

コピーはエンコード文字列、TXT保存はそのテキスト、ファイル保存はバイト列を出力します。画面の表示は先頭20,000単位までですが、3つの出力操作はすべて最新の完全な結果を使います。

デコード結果は正規化した表現

結果欄は必要な=パディングを持つ標準Base64を表示します。プレーンかData URLかは選択した形式に従います。パディング設定はエンコードだけに作用し、デコード後は省略形を保持しません。

無視できる空白は4種類

空白の無視はSP・TAB・CR・LFだけに適用されます。別の空白文字は勝手に除去せずエラーにします。結果には無視した単位数が出るので、改行入りデータを貼り付けた場合にも確認できます。

保存名を変えても中身は同じ

保存用の名前やMIMEを設定できますが、拡張子を変えても形式変換は行いません。たとえばPDFの名前を.pngにしても画像にはなりません。MIMEと実際の内容の一致も、この指定だけでは保証されません。

受け付けるデータと上限

標準文字と末尾ビットを検証
+と/を使う標準Base64のみ対応し、-や_を使うBase64URLは拒否します。使わない末尾ビットはゼロが必要です。寛容な処理系ではfに戻せるZh==も、本ツールではエラーになります。
パディングは正確にするか省略
Zg==とZgは有効ですが、Zg=は無効です。途中の等号、余分なパディング、データ長を4で割った余りが1となる入力はエラーです。壊れた符号列を推測で修復しません。
ヘッダーを自動修正しない
Data URLには明示したMIMEが必要で、パラメーター、パーセントエンコード、ヘッダー内空白は使えません。MIMEは127 ASCII文字までで小文字にそろえます。外部URLからの取得は行いません。
上限は表示ではなく全体に適用
ファイルと復元結果は600,000バイトまで、エンコード入力はヘッダーと空白を含め1,000,000 UTF-16単位までです。空ファイルや手動で変換する空のプレーン入力は有効で、0バイトの結果になります。
画像表示には別の制限
MIMEが一致する静止PNG・JPEG・WebPのみ、200,000バイト以下、各辺4,096ピクセル以下、合計4,000,000ピクセル以下で表示します。アニメーション、SVG、PDF、HTMLなどは表示しませんが、変換と保存は可能です。
暗号化や検査の代わりにはならない
Base64は暗号化でも圧縮でもありません。プレビュー判定はウイルス検査や安全性の保証ではありません。一括処理、下書きの永続保存、任意のファイル形式の自動識別にも対応しません。

ファイルBase64変換のよくある質問

デコードしたBase64をファイルに保存するには?

デコード方向を選び、入力形式と保存名を指定します。変換後のファイル保存は文字列ではなく復元したバイト列を使います。ファイルBase64変換は、コードで書き出す代わりに使えるブラウザの操作を提供しますが、Pythonのファイル処理を解析するものではありません。

Base64をテキストとして保存し、再読込すると値が一致しないのはなぜですか?

元の質問ではPythonのbytesとstrの違いが問題になっています。このツールはPythonオブジェクトを比較しません。ファイルBase64変換のTXT保存は文字列を全文保存し、デコード後は標準の表現にそろえます。改行、ヘッダー、パディングで文字列表記が変わることもあるため、同じ形式を選び、復元したバイトも確認してください。

Base64のURLにMIMEタイプが含まれないのはなぜですか?

プレーンBase64は種類の情報を持ちません。ファイルBase64変換でData URLを選ぶとエンコード時にヘッダーを付けられます。ヘッダーなしの入力を戻す場合はプレーン形式を選び、MIME欄を別に指定します。

JavaScriptのdata URIから画像ファイルサイズを調べるには?

文字数はファイルのバイト数と同じではなく、ヘッダーやパディングも影響します。このページでデコードすれば、コードを書かずにバイト数を確認できます。対応する静止画のプレビューではピクセル寸法も表示しますが、JavaScript自体は解析しません。

KineticJSのtoDataURL()をPythonで使うとパディングエラーになるのはなぜですか?

ヘッダーをプレーンデータとして渡した場合や、パディングが欠けた場合などが考えられます。原因の特定には元のコードが必要です。ここではData URL形式を選び入力を確認できます。正確なパディングと省略は有効で、不完全なパディングは拒否します。

未対応のケースがありますか?

ファイルBase64変換を試す

小さなファイルからファイルBase64変換を試し、形式とバイト数を確認してください。逆方向への置換を適用する前に内容を見直し、完全な結果を保存できます。