File Type Identifier
🔒 Runs in your browser
This tool inspects the file’s content (its “magic number”), not the extension in its name. That reveals the true type even if the file was renamed.
The file is read in your browser and is never uploaded to any server.
What a “magic number” is
Most file formats begin with a fixed sequence of bytes — a signature, or “magic number” —
that identifies the format no matter what the filename says. A PNG image always starts with
the bytes 89 50 4E 47, a PDF with %PDF, and a ZIP archive with
PK. This tool reads only the first 64 bytes of the file you choose, compares them
against a table of known signatures, and reports the real extension, MIME type and a short
description. Everything happens in your browser: the bytes are read locally and nothing is
uploaded.
Why the extension can lie
A filename extension is just a label anyone can change. Renaming report.pdf to
report.jpg does not turn it into an image — the bytes inside are unchanged, and a
program that trusts the name will fail to open it. Inspecting the content instead is how
operating systems, browsers and security tools decide what a file truly is. When the detected
type differs from the name, this tool flags the mismatch so you can spot a mislabeled download
or a masquerading file.
What it detects
It recognises common images (PNG, JPEG, GIF, WebP, BMP, ICO), documents and archives (PDF,
ZIP — which also backs DOCX, XLSX, PPTX, JAR, EPUB and APK — GZIP, RAR, 7-Zip), audio and
video (MP3, MP4, MOV, WAV, FLAC, Ogg), and executables and data files (Windows EXE, Linux ELF,
Java class, SQLite database). Some signatures live at an offset — WebP and WAV both start with
RIFF and are told apart by a tag further in — which the engine handles for you.
Frequently asked questions
How does it identify the file type?
It reads the first 64 bytes of the file and compares them against a table of known magic-number signatures. The filename and its extension are ignored.
Is my file uploaded anywhere?
No. The file is read locally in your browser with the File API; only the leading bytes are inspected and nothing is ever sent to a server.
Why does the result differ from the extension?
Because the extension is only a label anyone can change. Renaming a file does not change its bytes, so the content is the reliable source of truth.
Which file types can it detect?
Common images (PNG, JPEG, GIF, WebP, BMP, ICO), PDF, ZIP-based formats including DOCX/XLSX/PPTX, GZIP, RAR, 7-Zip, MP3, MP4, MOV, WAV, FLAC, Ogg, EXE, ELF, Java class and SQLite.