File Type Detector — Identify Files by Magic Bytes

Identify a file by its magic bytes — the fixed signature at the start, like PNG's 89 50 4E 47 — and get warned when the real format disagrees with its name.

🔒 The file is inspected in your browser — only its first few kilobytes are read (for a ZIP-based file, also its list of files and the first bytes of each), and nothing is uploaded. Unlike an extension lookup, this reads the real bytes.

Formats it recognises (183)

Drop any file here or click to browse

What are magic bytes?

Most binary file formats begin with a short, fixed signature — a “magic number” — that identifies the format no matter what the file is named. A PNG always starts with the bytes 89 50 4E 47, a PDF with %PDF, and a ZIP with PK. This tool reads the first few kilobytes of your file, matches that signature, and reports the real type: its canonical extension and MIME type, and what the format is. For a ZIP — and a .docx, .xlsx, .epub, .jar or .apk, which are ZIPs inside — it also opens the list of files it holds and names the type and size of each.

Why the extension isn’t enough

A file’s extension is only part of its name — anyone can rename photo.png to photo.jpg, and downloads sometimes arrive mislabeled. Because this tool inspects the actual bytes instead of trusting the name, it catches those mismatches and warns you when the name disagrees with the content. Plain-text formats such as HTML, CSV, JSON and source code carry no signature, so they are reported as unidentified rather than guessed. When nothing matches, the page suggests measuring the file’s entropy or pulling out its readable strings, in case it is encrypted or compressed, and the folded Formats it recognises list under the tool can be searched by extension, name or kind.

Frequently asked questions

How is this different from a MIME type or extension lookup?

An extension lookup maps a file’s extension to a type using a table — it trusts the name. This tool ignores the name and reads the file’s actual magic bytes, so it reports the true format even when the extension is wrong or missing.

Why does my text or code file come back as unidentified?

Magic-byte detection only works on formats that begin with a fixed binary signature. Plain-text formats like HTML, CSV, JSON, Markdown and source code have no such signature, so there is nothing to match and the tool reports no result instead of guessing.

Is my file uploaded anywhere?

No. The file is read and inspected entirely in your browser, and only its first few kilobytes are even accessed, plus, for a ZIP-based file, its list of files and the first bytes of each — nothing is sent to a server.

Can I see the bytes, or check a type from hex I already have?

Yes. Under every verdict the page shows the file's leading bytes as an offset, hex and text dump, and a switch lets you paste hex instead of choosing a file.

Does it say what the format is, whether it is risky, and what is inside a ZIP?

Yes. A What it is row gives the family in plain words and the format by its own name, such as Image — Portable Network Graphics (PNG). A program, an installer or a shortcut is flagged as code that runs when opened, a macro-enabled Office file as able to carry macros, and an archive or disk image as holding other files; a program renamed as a document gets its own warning not to open it. A ZIP — and a .docx, .xlsx, .epub, .jar or .apk, which are ZIPs inside — is opened and its files are listed by name, type and size, with each program marked ⚠.

Can I check whether it knows a format before I have the file, and what if nothing matches?

Yes. Open “Formats it recognises” under the tool and search it by extension — with or without the dot — by the format’s name or by its kind, such as image; a text format such as CSV or JSON is never on it, because it carries no signature. When a file matches nothing, a line under the verdict links to the entropy calculator and the strings extractor: an entropy reading near the maximum suggests the file is encrypted or compressed, and the strings show whatever readable text it holds.