piapia123
ja

ファイル種別チェック

Web

処理はすべてブラウザ内で完結します。データは送信されません

ここにファイルをドロップ、またはクリックして選択

1 ファイル · すべて端末内で処理

ファイルはブラウザ内だけで読み取り、どのサーバーにも送信しません。オフラインでも使えます。

ファイルをドロップすると、ブラウザーが報告した型(拡張子から推定されるもの)と実測のマジックバイトを並べて照合します。 なぜ両方を見るのか:拡張子は申告で、名前を変えれば簡単に変わり、多くのプログラムはそれしか見ていません。マジックバイトは事実で、形式の仕様が決めており名前を変えても変わりません。一致していれば問題ありませんが、食い違ったときに損をするのは常に拡張子を信じる側です —— `.jpg` なのに実体が PNG なら、古い画像ビューアーや拡張子でパーサーを選ぶアップロード口は読めないか文字化けします。 ⚠️ 2 種類の「不一致」は区別します:`.zip` を `application/x-zip-compressed` と報告するのは同じ形式の別名(名前の違い、問題なし)です。一方 `.jpg` のマジックバイトが PNG なのは本当の不一致で、影響を添えて警告します。判定は「ファイル注釈の識別」と同じ署名表を使います。ファイルは送信されず、すべて端末内で完結します。

機能

  • 拡張子・ブラウザーが報告した MIME(未報告ならその旨)・実測タイプの 3 つを照合
  • 識別は「マジックバイト」と同じ署名表を再利用(二重管理しない)
  • ⚠️ 「無害な名前の違い」と「本当の不一致」を区別 —— .zip / application/x-zip-compressed は警告しない
  • ⚠️ 本当の不一致は警告し、影響を説明:拡張子で判断するプログラムは読めない
  • 拡張子がないのは不一致ではない(申告がないことと間違った申告は別)
  • マジックバイトが不明なときは正直にそう言い、型を決め打ちしない
  • ZIP 系の .docx / .xlsx / .jar を誤判定しない
  • ファイルは送信されず、すべて端末内で完結します

使い方

  1. 上のエリアにファイルをドロップ(またはクリックして選択)します
  2. 3 つの生の情報を確認します:拡張子・ブラウザーの MIME・実測タイプ
  3. 「判定」の行を確認します:一致 / 名前の違い(無害)/ 不一致と、その説明

よくある質問

拡張子だけでは足りず、マジックバイトも見るのはなぜですか?
拡張子は誰でも変えられる文字列だからです。a.png を a.jpg に改名すれば拡張子は変わりますが、ファイルの中身は 1 バイトも動いていません。マジックバイト(先頭数バイト)は形式の仕様が決めており、改名では変えられません。多くのプログラムは拡張子しか信じないため、両者が食い違うと読み間違えます。本ツールは 2 つの手がかりを並べ、送信・アップロードする前に矛盾を見えるようにします。
.zip が application/x-zip-compressed と表示されます。直すべきですか?
いいえ。同じ形式の別名(Windows などでよくある表記)で、内容と矛盾しないため、ツールは警告ではなく「無害な名前の違い」と判定します。名前の違いまで一律に問題として報告すると、かえって判定を無視する習慣がつきます。そこで意図的に分けています:.zip が application/x-zip-compressed なのは問題なし、.jpg の実体が PNG なのは問題あり、です。
docx が「ZIP ではない」と判定されないのはなぜですか?
docx はもともと ZIP コンテナだからです(xlsx・pptx・jar・apk も同様)。マジックバイトが ZIP と一致するのは当然です。本ツールは拡張子が実測形式の宣言する拡張子集合に含まれるかで判断するため、.docx を誤判定しません。ブラウザーが Office の型(application/zip ではなく)を報告するのも正常で、「照合できない」であって衝突ではありません。

関連ツール