What Type of File Is This?
Identify a file from what's actually inside it, not what the extension claims. Nothing is uploaded.
Any file. Only the first few bytes are read.
Read in your browser. The file is never uploaded.
Why the extension isn't the answer
A file extension is a naming convention, not a fact about the file. Renaming invoice.pdf to invoice.jpg changes nothing inside it. Most formats instead begin with a distinctive byte sequence — a "magic number" — that identifies them regardless of what the file is called. A JPEG starts FF D8 FF. A PDF starts %PDF. A ZIP starts PK.
This tool reads those bytes and tells you what the file really is. It's the same principle behind the Unix file command.
When this is worth checking
- A download won't open. Often the file is fine but misnamed — a
.zipthat is really a.rar, or a "PDF" that is actually an HTML error page the server returned instead. - An attachment looks off. A file called
photo.jpgthat identifies as a Windows executable is not a photo. Double extensions and mismatched magic bytes are a long-standing malware pattern. - An upload keeps getting rejected. Many systems validate by content rather than name. If a form insists your file is the wrong type, this shows you what it is seeing.
- Recovering unnamed files. Data recovery and forensic tools often produce files with no extension at all. The magic bytes are the only way back.
Where magic bytes fall short
Some formats share a signature. A .docx, .xlsx, .pptx, .epub, .jar and .apk are all ZIP archives underneath, so all six begin with PK. Telling them apart means looking inside the archive, which this tool does — it reads far enough to distinguish the common cases and says so when it can only narrow it to a family.
Plain-text formats have no magic number at all. A .csv, .json, .html and .txt are all just characters, so identification falls back to inspecting the content, and the answer is a best guess rather than a certainty. This tool labels those as guesses instead of pretending otherwise.