File Type Checker
Inspect recognized file signatures, extensions and browser MIME without opening or uploading the file.
This tool runs entirely in your browser. Your data is never uploaded, never stored, and never leaves your device.
Read at most 4,096 local header bytes, identify supported format signatures and compare filename and browser MIME labels with an exportable evidence report.
How to use it
- 1Choose one file or load the PNG signature example.
- 2Review the recognized family, exact evidence and extension/MIME comparisons.
- 3Read the header-only limitations, then copy or download the JSON report.
What happens to your data
The file checker reads only a bounded 4,096-byte slice locally. It does not upload, open or persist the file and performs no malware scan. The report includes the filename and first 64 bytes, which you should review before sharing.
Last updated October 2026
Identify supported file signatures without opening or uploading the file. The result compares three pieces of evidence: the filename extension, the MIME label supplied by your browser and the bytes at the beginning of the file. A PNG saved with a .txt name can therefore be recognized as having a PNG signature even when the browser calls it text/plain. Copy or download a JSON report containing the observed header, comparisons and limitations.
Use this for a renamed download, a file rejected by an import screen or a support ticket about an unexpected format. A matching header is a clue about the container or format, not proof that the entire file is intact or safe. The tool does not decode images, open documents, inspect archive members or perform a malware scan.
How it works
The file picker reads a slice of at most 4,096 bytes from the beginning of the selected file. The remainder is not loaded into the tool. The displayed size is the file size reported by the browser; the inspected-byte count shows how much of it was actually read. Large files therefore have the same bounded header read as small files. An empty file produces an explicit empty-file result rather than being assigned a made-up format.
The finite recognition list covers PNG, JPEG, GIF, WebP, BMP, PDF, ordinary ZIP prefixes, GZIP, WAV and selected ISO-BMFF file-type brands. PNG requires its eight-byte signature; JPEG requires the opening three-byte pattern. WebP and WAV require both the RIFF marker and the matching subtype at offset eight. PDF is recognized only when %PDF- starts at offset zero. This is deliberately not an implementation of every browser's full MIME-sniffing algorithm: signatures at other offsets and formats outside the list can remain unknown.
An ISO-BMFF ftyp marker alone is not classified as MP4. The checker reads the major and compatible brands from a complete ordinary file-type box within the bounded header. AVIF and HEIC brands take precedence over generic media brands. Known HEIF, QuickTime and MP4-family brands have their own results. An unknown brand, incomplete box, extended-size box or box exceeding the header read remains unclassified. Even a recognized MP4-family container does not establish which audio or video tracks it contains.
ZIP signatures identify a container family. DOCX, XLSX, PPTX, EPUB and several other formats can use ZIP packaging, so their familiar extensions can match the ZIP family without proving that the required internal files exist. The checker does not open the archive to distinguish those subformats. A .docx file with a ZIP prefix is not a verified Word document.
Extension and MIME comparisons are separate. Missing MIME labels and application/octet-stream are shown as unavailable or generic evidence. A small documented set of common MIME aliases and ZIP-based document labels is accepted; arbitrary vendor labels are not treated as equivalent. A mismatch does not automatically rename, convert or repair the file. The first 64 bytes appear as hexadecimal and printable ASCII, with non-printing values represented by dots in the ASCII preview.
All file bytes and results stay in this browser's memory. No preview is rendered and no history is saved by this widget. Clear removes the current result and cancels an older pending read. The JSON report contains the filename and leading bytes, which can themselves identify a confidential file; review it before sharing.
Worked example: A PNG signature with a misleading text filename
- Input
- Name: renamed-image.txt Browser MIME: text/plain Bytes: 89 50 4e 47 0d 0a 1a 0a
- Result
- Recognized signature: PNG Filename extension: .txt — differs Browser MIME: text/plain — differs Header bytes inspected: 8
The built-in example contains only the PNG signature, not a complete image. It demonstrates why signature recognition must not be described as full validation.
Common use cases
- Investigate an image saved under an unexpected extension
- Compare a download's filename with its leading bytes
- Distinguish AVIF or HEIC brands from a generic ftyp marker
- Recognize a ZIP-based document's container without opening it
- Attach the observed signature and MIME label to a support ticket
- Inspect a large file with a small fixed header read
Frequently asked questions
Does changing a file extension convert the file?+
No. Renaming photo.png to photo.jpg changes its name, not its bytes. This checker can show a signature mismatch, but conversion requires decoding the original format and producing bytes in the desired output format.
What does unknown signature mean?+
The tested header did not match a supported pattern, or a supported container could not be classified within the read. Text, SVG, many executable formats and other containers are outside this tool's list. Unknown alone does not mean the file is corrupt or dangerous.
Why does a DOCX or XLSX file show ZIP container?+
Those document formats use ZIP packaging. The checker recognizes the outer container only and does not inspect its members. The matching document extension is therefore a family comparison, not verification of the document's structure or contents.
Can a file with a PNG signature still be broken?+
Yes. The opening bytes can be correct while later data is truncated, invalid or unrelated. The built-in eight-byte example illustrates exactly this distinction. Use an appropriate decoder or complete format validator when you need to establish whether the whole file can be read.
Does the MIME value come from the file contents?+
The browser-reported MIME label is supplied by the browser or operating system and may reflect the extension. It is shown separately from the signature result. An empty label or generic binary label does not contradict a recognizable header.
Can this detect malware or prove a download is trustworthy?+
No. It examines a short prefix and does not scan for malicious code, validate a signature from a publisher or establish provenance. Do not interpret a familiar file type as a safety verdict.
What is included in the JSON report?+
It contains the filename, full reported file size, inspected-byte count, browser MIME, extension, recognized format and evidence, comparison states, and the first 64 bytes in hex and ASCII. It also includes the explicit header-only limitation.
Is my complete file loaded or saved?+
Only its first 4,096 bytes are read into the tool. The widget does not upload, persist or render them. The selected file and report remain in this page's memory until replaced, cleared or the page is closed; downloading a report saves only that report through your browser.
Related tools
ZIP Extractor
Inspect supported ZIP archives and extract files with explicit path, integrity and expansion limits.
GZIP Compress / Decompress
Compress a file to GZIP or decompress a supported .gz file, then download the exact output bytes.
File Hash Checker
Get SHA-1, SHA-256 and SHA-512 checksums for a file, then paste the expected value to confirm a match.
Base64 to File
Decode Base64 to a file locally, inspect byte headers and verify the SHA-256 fingerprint.