Boneyard Tools

File Type Identifier (Magic Number Detector)

Drop in any file to see what it actually is. This tool reads the file's leading bytes, its magic number, and matches them against known signatures to report the real type, MIME, extension, and category. A renamed or extensionless file cannot hide its true format here. Everything is read in your browser and nothing is uploaded.

How to identify a file type

  1. Drag any file onto the box, or click browse to pick one.
  2. Read the detected type, MIME, category, and matching magic bytes.
  3. Compare it to the file's name to catch a wrong or missing extension.

Examples

A renamed image

report.dat (actually a PNG someone renamed)
Type: PNG, MIME: image/png, category: image, magic: 89504e47

Frequently asked questions

Is my file uploaded anywhere?

No. The file is read and inspected entirely in your browser using JavaScript. Nothing is sent to a server, so even confidential files stay on your device.

What is a magic number?

A magic number is a short, fixed sequence of bytes at a known position in a file (often the very start) that marks its format. A PNG begins with the bytes 89 50 4E 47, a PDF with the text %PDF, a ZIP with PK followed by 03 04. Reading these bytes is more reliable than trusting the file's name.

Why not just trust the file extension?

Extensions are just part of the name and can be wrong, missing, or deliberately faked. A file named photo.jpg might really be an executable. Checking the bytes tells you the true format regardless of what it is called.

Which file types can it detect?

Common images (PNG, JPEG, GIF, WebP, BMP, ICO), audio (MP3, WAV, FLAC, OGG), video (MP4 and QuickTime), archives (ZIP, GZIP, 7z, RAR, TAR), documents (PDF, RTF), fonts (WOFF, WOFF2, TTF, OTF), executables (ELF, Windows EXE, Java class), SQLite databases, and text byte-order marks.

What does Unknown mean?

It means none of the known signatures matched the file's bytes. Plain text and CSV files have no magic number, and many proprietary or rare formats are not in the table, so they show as Unknown with the generic MIME type application/octet-stream.

Why do DOCX and JAR files show as ZIP?

Because they are ZIP archives under the hood, sharing the same PK 03 04 signature. The bytes alone identify the container; the specific extension tells you what the archive contains.

Related tools