Skip to content
Free, no signup, nothing saved

Check what a file really is, beyond the extension

Drop any file (PDF, executable, archive, image, video, audio, source code) and we look at the actual bytes (and use AI for text files) to check whether they match the extension. MATCH, MISMATCH, AMBIGUOUS, or UNKNOWN. In your browser, no upload.

  • Processed in your browser
  • No account required
  • 200+ formats
A file claiming to be invoice.pdf, then the same file revealed as a Windows executable.A file claiming to be invoice.pdf, then the same file revealed as a Windows executable.

Drag to compare, before / after

Overview

A file extension is just a label. The bytes inside are the truth. Renaming `invoice.exe` to `invoice.pdf` changes nothing about the file; it still starts with the same Windows-executable header. Any operating system that takes the extension at face value misses the swap. This tool reads those bytes for you and tells you what is really there.

The check is hybrid. The first pass is an instant byte-level look at the start of the file, comparing it against a library of well-known formats: PDF, PNG, ZIP, a Windows executable, a Linux executable, and several dozen more. That covers most binary formats your inbox or download folder is going to throw at you.

For text-based files (source code, configuration, CSV / JSON / Markdown / YAML, shell scripts) the start of the file does not give them away; every text file looks the same to a byte-level check. The second pass closes that gap with an on-device AI that recognises more than 200 formats. We run the AI locally on desktop computers; it picks the most likely label and a confidence score, and the verdict re-renders.

Both passes run in your browser. The first few kilobytes of the dropped file are read into memory for the byte-level check; the AI sees the whole file (capped at 20 MB for mobile safety). Nothing is uploaded, nothing is saved. We never claim malware detection; the verdict tells you what the file IS, not whether the file is safe.

At a glance

Quick facts

The numbers and trade-offs you need before you commit.

  • Where it runs

    Both the byte-level check and the AI pass run in your browser, on your device. Nothing is uploaded to our servers.

  • Formats supported

    Byte-level check covers two dozen well-known formats (PDF, PNG, JPEG, ZIP, RAR, MP4, Linux and macOS executables, Windows EXE / DLL, DOCX, and more). The AI pass recognises 200+ file types, including text-based ones (Python, Go, JSON, YAML, and more).

  • Verdict vocabulary

    MATCH (extension and bytes agree), MISMATCH (extension and bytes disagree), AMBIGUOUS (more than one format fits, or the AI is unsure), UNKNOWN (no recognised format, often a text-based file on mobile).

  • When the AI pass runs

    The AI pass runs only when the byte-level check returns AMBIGUOUS or UNKNOWN, the device has at least 4 GB of memory, and the file is under 20 MB. Confident byte-level matches skip it so the 7 MB AI download is never wasted.

  • Free limit

    Ten verifications per IP per UTC day, with spam protection. The paid batch flow ships verifying up to 50 files in one job at 1 credit per file.

Workflow

How it works

Three steps, usually done inside five seconds.

  1. 1

    Drop any file

    Up to 50 MB for the byte-level check, up to 20 MB for the AI pass. Drag-and-drop, file picker, or paste from the clipboard.

  2. 2

    Byte-level check (instant)

    We read the start of the file and compare it against a couple of dozen well-known formats. If the bytes match the extension, you get a green MATCH banner with a peek at the bytes that proved it.

  3. 3

    AI pass (desktop only, automatic)

    When the byte-level check returns AMBIGUOUS or UNKNOWN, an on-device AI runs locally on the full file and picks the most likely format from over 200 file types. The verdict updates with the detected label and confidence score.

  4. 4

    Read the verdict and decide

    MATCH means the bytes back up the extension. MISMATCH means something has been relabelled. AMBIGUOUS means more than one format fits. UNKNOWN means we cannot tell yet (often a text-based file on mobile where the AI pass is held back).

Samples

See it in action

Drag each slider to pixel-peep the before and after.

A file labelled archive.zip turns out to be an Office document. The check shows what the bytes really say.A file labelled archive.zip turns out to be an Office document. The check shows what the bytes really say.
A file labelled archive.zip turns out to be an Office document. The check shows what the bytes really say.
A file saved as notes.txt is recognised as Python source code by the AI pass once the byte-level check returns ambiguous.A file saved as notes.txt is recognised as Python source code by the AI pass once the byte-level check returns ambiguous.
A file saved as notes.txt is recognised as Python source code by the AI pass once the byte-level check returns ambiguous.
A real JPEG returns a green MATCH banner with the FF D8 FF magic bytes called out as proof.A real JPEG returns a green MATCH banner with the FF D8 FF magic bytes called out as proof.
A real JPEG returns a green MATCH banner with the FF D8 FF magic bytes called out as proof.
Privacy

Your image, gone when you're done

Runs in your browser

Both the byte-level check and the AI pass run entirely in your browser. The file never reaches our servers and nothing is saved. The only network call this page makes is a per-day usage counter (a one-way hash, no file content) protected against automated abuse. The AI model files are served from our own domain and cached for a year so a second visit reuses them.

  • Processed in seconds
  • Nothing saved
  • No account linked
Try it now

Upload an image

One click. No signup. We'll do the rest.

Check a file

Drop your image here or click to upload
Drop any file (max 50 MB) to see whether the contents match the extension.
Processed 100% in your browser
We read the first few bytes of your file locally. Nothing is uploaded, nothing is saved.
Glossary

File-type glossary

Plain-English definitions for the jargon above.

FAQ

Frequently asked questions

Answers to the things most people ask before trying a new tool.

Related reading

Related reading

Other tools that pair well with this one.

  • What is a magic number?Plain-English explainer of magic-byte signatures, how they identify files, and the canonical examples (PDF, PNG, ZIP, PE, ELF, Mach-O).
  • File extension vs file typeThe extension is a label; the file type is what the bytes actually say. Here is exactly how the two diverge and what to do when they disagree.
  • Is my file safe? Magic-byte vs malware scannersHonest scope-setting for what this tool can and cannot tell you. A magic-byte check identifies the format; only an antivirus tells you about malicious payloads.
  • Is this really a PDF?Per-format spoke focused on PDFs specifically, with the exact magic-byte signature and the most common PDF-as-something-else attack patterns.

Citing or sharing?

Copy a concise Markdown summary (title, description, FAQ, canonical URL, and citation) ready to paste into an LLM or a doc.

Please cite as

BouseMutton (2026). File type checker, identify any file beyond its extension [Web application]. https://bousemutton.com/file-type-checker

Last updated: 2026-04-28