File Type Checker
Check a file's real type from its content - free, no upload.
Your file's first few bytes are read inside this page. It is never uploaded.
Detection is based on a fixed list of common binary file signatures (images, PDFs, archives, audio/video, executables and databases). Plain-text formats like .txt, .csv, .json, .xml and .html have no fixed binary signature and are reported as "not recognised" rather than guessed.
What this tool does
Choose a file to see what its content actually looks like, compared against its file extension and the MIME type your browser reports for it.
Identifies a file's real type from its leading bytes, checked against a list of common binary file signatures.
Compares that detected type against the file's extension and flags a mismatch.
Shows the browser-reported MIME type alongside, for comparison.
Reads only the first 32 bytes of the file to do this, so even a very large file is checked instantly.
Recognises ZIP-based Office formats (.docx, .xlsx, .pptx) as "ZIP archive", since they share the same underlying container signature as a plain .zip file - it cannot distinguish which Office format from the signature alone.
How to use it
- Choose a file.
- Review the detected type, extension and MIME type shown.
- Check the mismatch warning if the extension doesn't match the actual content.
Why use this checker
A file extension can be wrong or deliberately misleading. Reading the first bytes shows what a file really is.
Why we built it
We built the file type checker to read a file's leading bytes against known signatures instead of trusting its extension. Look up MIME types with the MIME lookup and hash the file with the file hash generator.
Related tools worth a look: the File Splitter.
Who this tool is for
- People unsure what a file really is
- Security-conscious users checking attachments
- Support staff identifying uploads
When to use it
- Checking an unknown download.
- Verifying a renamed file.
- Spotting a mismatched extension.
- Identifying a file with no extension.
Why extension and MIME type aren't enough on their own
Both can be wrong without the file's actual content changing at all.
A file's extension is just its name after the last dot - renaming report.pdf to report.docx doesn't change a single byte of the underlying content. A browser's reported MIME type is usually guessed from that same extension, so it inherits the same problem. A file's actual leading bytes are the one thing that isn't just a label - most binary formats begin with a fixed, documented signature specifically so software can identify them reliably, and that's what this tool checks directly.
Why a .docx, .xlsx and .pptx all detect as "ZIP archive"
Modern Office files are ZIP containers wearing a different extension.
A .docx, .xlsx or .pptx file begins with the exact same four leading bytes as a plain .zip file, because that is genuinely what it is internally - a ZIP archive holding a set of XML files and any embedded media. Checking only the leading bytes cannot tell these apart from one another, since the difference between a Word document and an Excel workbook lives deeper inside the archive's folder structure, not in its opening signature. This tool is upfront about that: it reports the match as "ZIP archive (or a ZIP-based format like .docx/.xlsx/.pptx)" rather than guessing a specific Office format it cannot actually confirm from the first bytes alone.
| File starts with | Detected as |
|---|---|
| %PDF- | PDF document |
| 0x89 P N G ... | PNG image |
| PK (0x50 0x4B) + version marker | ZIP archive (or a ZIP-based format like .docx/.xlsx/.pptx) |
| 0xFF 0xD8 0xFF | JPEG image |
What you give it, and what you get back
| Item | Details |
|---|---|
| Input | Any file. |
| Output | Detected type from signatures, compared with the extension. |
| Notes | Plain text formats have no signature. |
Issues you may run into
| What you see | Why it happens | What to do |
|---|---|---|
| Not recognised | It is plain text or uncommon. | Open it in a text editor. |
| Mismatch is flagged | The extension and content differ. | Be careful with the file. |
| A type is missing | The list is fixed. | Check with a specialised tool. |
Assumptions and limitations
- Plain-text formats like .txt, .csv, .json, .xml and .html have no fixed binary signature, so they're reported as "not recognised" rather than guessed at.
- Detection covers a fixed list of common formats (images, PDFs, archives, audio/video, executables and databases) - an unlisted format won't be identified.
Frequently asked questions
How do I check a file's real type for free?
Choose the file - its actual content is checked against known file signatures and compared to its extension.
Why would a file's extension not match its content?
The file may have been renamed, converted incompletely, or mislabelled - the extension is just a name and doesn't have to reflect the actual content.
Does this work for text files like .txt or .csv?
No - plain text formats have no fixed binary signature, so they're reported as not recognised.
What formats can this detect?
Common images, PDFs, ZIP-based formats, other archives, audio/video containers, executables and database files.
Is my file uploaded anywhere?
No. Only its first few bytes are read, entirely in your browser.
Can this tell a .docx apart from a .xlsx by content?
Not from the signature alone - both are ZIP archives internally and share the exact same opening bytes as a plain .zip file, so both detect as "ZIP archive (or a ZIP-based format like .docx/.xlsx/.pptx)" rather than a specific Office format.
How much of the file does this actually read?
Only the first 32 bytes. That's enough to check against every signature this tool recognises, so detection is instant regardless of the file's total size.