ファイルタイプ判定ツール
ファイルの実際のフォーマットをマジックナンバーのバイトシグネチャを調べることで検出 — ファイル拡張子またはブラウザが報告する MIME タイプではなく。誤ったラベルが付いたファイルまたは名前が変更されたファイルを検出します(実は PNG である ZIP、実は PDF である TXT など)。PNG、JPEG、GIF、PDF、ZIP/DOCX/XLSX/PPTX、GZIP、BMP、WEBP、WAV、ELF、MP3、7-Zip、RAR に対して公開されているシグネチャと実際のバイトを照らし合わせます。
入力
ファイルはブラウザでローカルに読み込まれ、アップロードされません。最初の数千バイトのみが検査されます。
出力
| プロパティ | 値 |
|---|---|
| No data yet | |
このツールを使う他の方法
埋め込みウィジェット
<iframe
src="https://iotools.cloud/embed/file-type-checker/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="ファイルタイプ判定ツール — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。
次の方法でも利用可能
ガイド
ファイルの拡張子や「ブラウザが報告する」MIME タイプは単なるラベルにすぎません。誰でも(あるいは何でも)photo.exe を photo.jpg に名前変更でき、多くのソフトウェアは名前をそのまま信用してしまいます。ファイルタイプ判定ツールはそうしません。ファイルの実際の先頭バイトを読み取り、ほぼすべての主要フォーマットがファイルの先頭(またはその付近)に書き込む、公開されたマジックナンバーのシグネチャと照合して、ファイルの実際の形式を報告します。ブラウザが割り当てたラベルと食い違う場合は不一致として警告します。
使い方
ファイルをアップローダーにドロップしてください。判定はすぐに実行され、すべてブラウザ内で完結します。ファイルはローカルで読み取られ、どこにもアップロードされません。結果の表には次の項目が表示されます。
- Detected File Type と Detected MIME Type — バイトシグネチャが実際に示している内容。
- Confidence — そのシグナルの強さ(後述)。
- Typical Extension(s) — 判定されたフォーマットに一般的な拡張子。
- Signature Bytes Matched と Detection Basis — 検査された正確な16進バイトと、それに一致したルール。判定を鵜呑みにせず、自分で確認できます。
- First Bytes Inspected (hex) — ファイル先頭の生の16進ダンプ。何も一致しなかった場合でも表示されます。
- Browser-Reported MIME (from upload) — ブラウザがそのファイルについて推測した MIME タイプ(通常は拡張子から導出されたもの)。
- Mismatch Warning — ブラウザの推測とバイトレベルの判定との食い違いを示します。このツールの核心であり、名前変更されたファイルやラベルの誤ったファイルを見つけるための機能です。
判定の仕組み
すべてのフォーマットには、その仕様で定められた、ファイル先頭付近の固定のバイトパターン(「マジックナンバー」)があります。判定ツールは順番に次を検索します。PNG(89 50 4E 47 0D 0A 1A 0A)、JPEG(FF D8 FF)、GIF87a/GIF89a、PDF(%PDF-)、GZIP(1F 8B)、ZIP(50 4B 03 04、空のアーカイブや分割アーカイブの亜種を含む)、BMP(BM)、WebP と WAV(どちらも RIFF コンテナで、バイトオフセット 8 のフォームタイプタグで区別)、ELF バイナリ、MP3(ID3v2 タグ、または弱いフォールバックとしての MPEG フレーム同期パターン単体)、7-Zip、RAR(旧ヘッダー形式と v5 以降の両方)。
ZIP ベースの Office フォーマット(DOCX/XLSX/PPTX)には二段階目の検査があります。これらはバイトレベルではすべて通常の ZIP アーカイブなので、50 4B 03 04 の一致だけでは、それら同士や一般的な .zip、.jar、.apk を区別できません。判定ツールは、アーカイブ先頭 8 KB を、Office が書き込む標準的な内部パス(word/document.xml、xl/workbook.xml、ppt/presentation.xml)について走査し、可能であれば一般的な「ZIP archive」結果を特定の Office フォーマットに格上げします。これらのパスが見つからず、OOXML のマニフェストである [Content_Types].xml が見つかった場合は、推測せずに「likely Office Open XML, format undetermined」と報告します。どちらもない単純な ZIP は、一般的な ZIP アーカイブとして報告されます。
信頼度は一様ではありません。 PNG の 8 バイトや 7-Zip の 6 バイトのような長く一意なシグネチャは、約 99% と報告されます。偶然一致する可能性はほぼありません。短いシグネチャ(BMP の 2 バイト BM)は、2 バイトは無関係なデータ中に偶然現れる確率が実際にあるため、スコアが低くなります。MP3 のフレーム同期チェック(わずか 11 ビット)は、この中で最も弱いシグナルとして扱われます。既知のシグネチャに一致しない場合、判定ツールはテキストのヒューリスティックにフォールバックします。先頭 1000 バイトの 90% を超えて印字可能文字であれば、信頼度が低〜中程度の「Plain text」と報告し、そうでなければ「Unknown」と正直に報告します。
名前を変更していないファイルに「MISMATCH」と表示されるのはなぜですか?
一部のツールや OS は、内容を一切確認せずにファイル拡張子だけから MIME タイプを割り当てます。そのため、破損したダウンロード、他のプログラムが誤った拡張子で保存したファイル、本当にラベルが誤っているファイルは、いずれも警告を引き起こします。これは、バイトがラベルと一致しないことを意味するのであって、誰かが意図的に名前を変更したことを必ずしも意味するわけではありません。
ファイルはどこかにアップロードされますか?
いいえ。このツールはすべてブラウザ内のクライアント側で動作します(API やプログラムからのアクセスはありません)。ファイルはローカルで読み取られ検査され、その内容が端末の外に出ることはありません。
自分のファイル形式が認識されないのはなぜですか?
上記に挙げたフォーマットだけが検査されます。それ以外は、プレーンテキストのヒューリスティックに回されるか、不明として報告されます。マジックナンバーによる判定は、文書化され安定したバイトシグネチャを持つフォーマットのみを対象としており、このツールは文書化されていない形式を推測するのではなく、検証済みのサブセットに限定しています。