What Is This File?
Drop a file you cannot open. We read its signature in your browser and tell you what it is.
Your files stay safe — processed entirely in your browser. Nothing is uploaded.
Drop any file here
or click to select — any format, any size
The file is read in your browser and never uploaded.
Why the extension is not the answer
A file's extension is just the end of its name. Anyone can change it, email systems strip it, and downloads routinely arrive with the wrong one. That is why a file that "should" open sometimes will not, and why an unfamiliar extension tells you so little.
Almost every binary format instead starts with a fixed sequence of bytes — a signature.
A PNG always begins 89 50 4E 47. A PDF always begins %PDF-.
A winmail.dat always begins 78 9F 3E 22. Those bytes are part of the file
itself, so they survive renaming, and they are what this tool reads.
It currently knows 153 formats, and reads the first few kilobytes of your file to check them. When the signature is ambiguous — every Office document, EPUB, Android package and Apple Pages file is a ZIP archive underneath — it looks inside the container for the entries that tell them apart.
What the confidence labels mean
- Identified from its signature
- The file's own bytes matched a known format. This is reliable regardless of what the file is called.
- Identified from its contents
-
The wrapper was recognised and the specific format was determined by what is inside it
— for example a ZIP that contains
word/document.xmlis a Word document. - Identified from its structure
-
Text formats have no signature, so these are recognised by what they contain — a vCard
opens with
BEGIN:VCARD, an email has RFC 822 headers. - Guessed from the file name
- Nothing in the file itself matched, so this is the extension's claim and nothing more. Treat it as a hint.
Nothing is uploaded
Identifying a file you cannot open should not require handing it to a stranger — the
whole reason you do not know what it is might be that it came from somewhere you do not
trust. Detection runs in your browser using File.slice(), so only the
handful of kilobytes needed for the signature is ever read, and none of it leaves the
tab.
You can confirm that: open your browser's developer tools, switch to the Network tab, and drop a file. The page loads, and then nothing.