ファイルの正体を判定

そのファイルが本当は何なのか、先頭バイトからブラウザ内で判定します。アップロードはありません。

判定するファイルを選ぶ

どんなファイルでも選べます。読み込むのは先頭 4KB のみ — アップロードはしません。

このツールでできること

ほとんどのファイル形式は、ファイル名や拡張子が何を名乗っていようと、先頭に決まったバイト列(「マジックバイト」と呼ばれます)を持っています。このツールはファイルの先頭 4KB だけを読み込み、既知のシグネチャ一覧と照合して、実際に何であるかを報告します。

一番の狙いは食い違いの発見です。「report.txt」という名前なのに中身は PNG 画像だった、「.jpg」なのに実は ZIP アーカイブだった、といったケースを見つけます。バイナリのシグネチャに一致しない場合は、内容が UTF-8 または Shift_JIS のテキストとしてデコードできるかを確認し、JSON・CSV/TSV・HTML・XML・SVG のいずれに見えるかを報告します。

ファイルが端末から出ない理由

ここでのプライバシーは約束ではなく仕組みです。送信先のサーバーが存在しないため、アップロードという工程がそもそもありません。

  • 読み込むのはファイルの先頭 4KB だけです。ファイル全体を読み込むことはありません。
  • 判定はすべてブラウザ内で実行されます。
  • ページは静的ファイルとして配信され、ファイルのデータを伴うリクエストは送信しません。
  • ソースは公開されており、誰でも読めます(MIT)。
  • オフラインで動作します。これは、データが端末から出ないからこそ可能です。

ご自分で確かめるなら、判定中にブラウザの Network パネルを開いてください。データを運ぶリクエストは出ていません。 ソースを読む。

使い方

  1. ファイルを選ぶ

    クリックしてファイルを選択するか、ページ上にドロップします。一度に判定できるのは1ファイルです。

  2. 結果を確認する

    検出された形式・MIME タイプ・一般的な拡張子を確認します。テキストの場合は文字コードと内容の種類が表示されます。

  3. 警告に注意する

    ファイル自体の拡張子が検出された形式と食い違っている場合、その警告が最初に表示されます。

よくある質問

ファイルはどこかにアップロードされますか?

いいえ。読み込むのは先頭 4KB だけで、判定はすべてブラウザ内で完結します。サーバー側の処理が無いため、ファイルが端末の外に出る経路がありません。ソースは公開されており、ブラウザの Network パネルで確認できます。

「マジックバイト」とは何ですか?

ほとんどのファイル形式は、決まった認識可能なバイト列(ファイルシグネチャとも呼ばれます)から始まります。例えば PNG ファイルは常に同じ 8 バイトで始まり、ZIP アーカイブは「PK\x03\x04」で始まります。このツールはファイルの先頭バイトを既知のシグネチャ一覧(magic-bytes.js)と照合し、ファイル名に関係なく実際の形式を報告します。

複数の形式の可能性があると表示されるのはなぜですか?

ZIP・JAR・DOCX・XLSX・PPTX・ODT・APK など、ZIP をベースにした形式は先頭数バイトがまったく同じです。これらを見分けるには通常アーカイブ内部の central directory を確認する必要がありますが、それはこのツールが読む先頭 4KB の外にあることが多いため、推測せずシグネチャを共有するすべての形式を列挙します。

既知のバイナリ形式でない場合はどうなりますか?

バイナリのシグネチャに一致しない場合、先頭 4KB を UTF-8 テキストとしてデコードを試み、失敗すれば Shift_JIS を試します。成功すれば、内容が JSON・CSV/TSV・HTML・XML/SVG・プレーンテキストのいずれに見えるかを報告します。どちらのデコードも失敗した場合は「不明なバイナリデータ」と報告します — 既知の形式にも一致せず、有効なテキストでもないということです。

ファイルを変換したり開いたりできますか?

いいえ。このツールは判定するだけで、変換・展開・中身の表示は行いません。該当する runlocally のツール(ZIP Viewer、CSV Viewer、Hex Viewer など)が存在する場合は、結果からそこへリンクします。

オフラインでも使えますか?

はい。PWA なので、一度アクセスすればキャッシュされ、ネット接続が無くても判定できます。ホーム画面に追加して、アプリのように使うこともできます。