1. Home
  2. Developer tools
  3. File Type Identifier

File Type Identifier

Rename a file and its extension lies; its first bytes do not. Drop files here to see what they really are and whether the name matches.

Free, no sign-up. Runs in your browser: nothing is uploaded.

How to use File Type Identifier

  1. Drop one or more files.
  2. Read the detected type and MIME type.
  3. Look for the extension mismatch warning.

Features

  • About 80 signatures: images, documents, archives, media, executables, databases
  • Looks inside ZIP to tell DOCX, XLSX, PPTX, JAR and APK apart
  • Reads MP4-family brands (MP4, MOV, HEIC, AVIF)
  • Warns when an executable hides behind another extension
  • Shows the first 24 bytes
  • Reads only the first 64 KB of each file

Supported formats

Input

  • Any file (read in your browser)

You get

  • Detected type and MIME type
  • Extension mismatch warning

Private by design

Everything you enter is processed by your browser on this device. Nothing is sent to openWorkstand or anyone else, so the File Type Identifier is safe for private and work data. After you have used it once while online, it also works without an internet connection. How local processing works

Good to know

  • It recognises about 80 common formats from their first bytes, not every file type.
  • A matching signature does not prove a file is harmless, and a polyglot file can be valid as two types.

Guide

Identifying a file by its magic bytes instead of its name

A file extension is a label that anyone can change. Rename invoice.exe to invoice.pdf and Windows shows a different icon, but the contents are untouched. What does not change is the way the file begins. Most formats start with a fixed run of bytes, a magic number, that programs look at before they trust anything else. This checker reads those bytes, tells you what the file really is, and warns when the name and the content disagree.

How detection works

The page compares the first 64 KB of each dropped file with a table of 79 signatures: images, documents, archives, audio and video, fonts, databases, executables and disk images. A PNG starts with 89 50 4E 47 0D 0A 1A 0A, a PDF with %PDF-, a gzip file with 1F 8B, a Windows program with MZ, a Linux program with 7F 45 4C 46. Reading is done on your device; nothing is uploaded.

ZIP and MP4 families

Many formats share one container. A DOCX, an XLSX, a JAR and an Android APK are all ZIP archives that start with PK. To tell them apart, the page lists the entry names inside the archive: a word/ folder means a Word document, xl/ a workbook, ppt/ a presentation, a manifest with Java classes a JAR. MP4-family files all carry an ftyp box near the start, and the four-letter brand inside it decides whether the file is MP4, a QuickTime movie, a HEIC photo or an AVIF image.

A worked example

The sample button creates a tiny valid PNG called holiday.jpg. The result reads: detected type PNG image, MIME type image/png, usual extension .png, and a warning that the extension .jpg does not match the detected type. Below it the first 24 bytes appear as 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 01 00 00 00 01: the eight signature bytes, then the length 13 of the IHDR chunk, the letters IHDR and a width and height of 1 pixel.

Why mismatches matter

Upload forms often check only the extension. Mail filters and chat apps preview by extension. A program saved as report.pdf, or a script saved as photo.png, passes those checks. When a program signature shows up under a harmless name, the warning is stronger than for an ordinary mismatch such as a PNG named .jpg, which usually means somebody renamed an export.

Limits

A matching signature says how the file starts, not what else it contains. A polyglot file can be valid as two formats at once, and malware can carry a clean header. Formats without a header, encrypted data and compressed streams come back as unrecognised. The tool does not scan for viruses.

Using the result in practice

If you accept uploads on a website, do not rely on the extension or on the browser-supplied content type; read the first bytes on the server and compare them with the types you allow. For files you receive, the mismatch warning is a prompt to slow down: open the document in a sandbox, check where it came from, and compare its checksum with the sender’s. When a result names a container such as ZIP, remember that the page only looked at its entry names, not at what each entry contains.

Checked against the current version of the File Type Identifier on .

Frequently asked questions

Can a text file be identified this way?

Only when it has a recognisable start. HTML, JSON and XML are recognised from their first characters, but plain notes, CSV files and source code have no header, so the page reports that no signature matched.

Why does an old Word file show up differently from a DOCX?

Word 97 to 2003 files use the OLE2 compound file container, which begins D0 CF 11 E0, while DOCX is a ZIP archive that begins with the letters PK. They are different formats with the same program behind them.

Why does a DOCX file show up as a ZIP file?

DOCX, XLSX and PPTX files are ZIP archives of XML files. The page opens the archive listing to tell them apart from an ordinary ZIP.

Can a file have two types at once?

Yes. A polyglot file is valid in two formats, for example an image that is also a script. A signature check shows how the file starts, not everything it can be.

Keep working with the result

openWorkstand also includes a free workspace with documents, spreadsheets, tasks, projects and a calendar that save to a folder on your computer.