これ何のファイル?
開けないファイルをドロップしてください。ブラウザ内でシグネチャを読み、正体をお伝えします。
あなたのファイルは安全です — すべてブラウザ内で処理。サーバーには一切送信しません。
ファイルをここにドロップ
またはクリックして選択 — 形式もサイズも問いません
ファイルはブラウザ内で読み取られ、アップロードされません。
拡張子は答えになりません
拡張子はファイル名の末尾にすぎません。誰でも書き換えられますし、メールシステムが 削ぎ落とすこともあれば、ダウンロードで違うものが付いてくることも珍しくありません。 「開けるはずのファイルが開かない」のも、見慣れない拡張子から何も分からないのも、 これが理由です。
一方、ほとんどのバイナリ形式は先頭に決まったバイト列 —— シグネチャ —— を持っています。
PNG は必ず 89 50 4E 47 で始まり、PDF は必ず %PDF-、
winmail.dat は必ず 78 9F 3E 22 です。これはファイルそのものの一部なので、
名前を変えても残ります。このツールが読んでいるのはそこです。
現在 153 形式を判定でき、先頭数キロバイトを読んで照合します。 シグネチャだけでは決まらない場合 —— Office 文書も EPUB も Android アプリも Apple Pages も、実体はすべて ZIP です —— コンテナの中を見て、区別できる エントリを探します。
判定の根拠の読み方
- シグネチャから判定
- ファイル自身のバイト列が既知の形式と一致しました。ファイル名が何であろうと信頼できます。
- 中身から判定
-
入れ物の種類が分かったうえで、中に何が入っているかで具体的な形式を特定しました。
たとえば
word/document.xmlを含む ZIP は Word 文書です。 - 構造から判定
-
テキスト形式にはシグネチャがないため、中身の書式で判定しています。vCard なら
BEGIN:VCARDで始まり、メールなら RFC 822 のヘッダを持ちます。 - ファイル名からの推測
- ファイルの中身は何とも一致しませんでした。これは拡張子がそう名乗っているというだけで、 手がかり以上のものではありません。
アップロードは発生しません
正体の分からないファイルを調べるのに、それを見ず知らずの相手に渡す必要はないはずです。
そもそも正体が分からないのは、信用できない出所から来たからかもしれません。
判定は File.slice() を使ってブラウザ内で行うので、
読み取るのはシグネチャに必要な数キロバイトだけで、それもタブの外には出ません。
確認できます。ブラウザの開発者ツールを開いて Network タブに切り替え、 ファイルをドロップしてみてください。ページが読み込まれたあと、何も起きません。