File Type Checker is a free tool that tells you what a file really is, whatever its name says. It reads the first few kilobytes of the file, compares them with the signatures of about 80 formats, and says whether the name matches. It also warns about the tricks used to get people to open malware: programs named as documents, double endings such as .jpg.exe, and hidden characters that reverse part of a name. The file never leaves your browser.
How to check what type a file is
- Drop one or more files onto the page, or choose them.
- Read the banner: the name matches, does not match, or the file is disguised.
- Compare It is with Name says. If a file only has the wrong ending, use Save as to download a copy with the right one.
- Open First bytes to see the signature itself.
Why a file’s name can lie
The ending of a file name — .pdf, .jpg, .docx — is only a label. Anyone can rename a file, and your computer decides what to do with it from that label alone. That is how a program ends up named invoice.pdf, and why an innocent file saved with the wrong ending refuses to open. The contents, though, cannot lie so easily: almost every format starts with the same few bytes, known as its signature or “magic number”.
Disguised files: what the warnings mean
- A program named as a document or photo: a Windows, Mac or Linux program with an ending like
.pdfor.jpg. There is no innocent reason for this. Delete it. - A double ending:
holiday.jpg.exeshows asholiday.jpgon Windows, which hides the last ending, but runs as a program. - A hidden reversing character: the right-to-left override makes the end of a name display backwards, so
.execan look like.pdf. This page shows it as[U+202E]. - Macros: Word and Excel files that contain VBA code say so. Only enable macros for a sender you trust.
Formats it recognises
Images (PNG, JPEG, GIF, WebP, HEIC, AVIF, TIFF and camera RAW, PSD, SVG), documents (PDF, Word, Excel, PowerPoint, OpenDocument, EPUB, RTF), archives (ZIP, 7-Zip, RAR, GZIP, TAR, XZ, ISO), audio and video (MP3, AAC, FLAC, WAV, Ogg, MP4, MOV, WebM, MKV), fonts, programs for Windows, macOS, Linux, Android and Java, and data such as SQLite databases and network captures. Office files and app packages are ZIP archives underneath, so the page reads the list of files inside to tell a .docx from an .xlsx or an .apk — without unpacking anything. Text formats have no signature and are judged by their shape.
Checking a download is genuine
Knowing the type tells you what a file is, not whether it is the file its publisher released. For that, compare its checksum with the one on the publisher’s site using File Checksum. To see the hidden details stored inside a photo, use the EXIF Viewer.
Frequently asked questions
How does it know what a file is?
Most formats begin with a fixed pattern of bytes: every PNG starts with the same eight, every PDF with “%PDF-”. The page reads the start of the file and compares it with the known patterns. Office files and app packages are ZIPs underneath, so for those it also reads the list of names inside.
Is it safe to check a file I do not trust?
Checking is safe: the page only reads bytes and never runs or opens the file, and nothing is uploaded. What is not safe is opening a file this page says is disguised. If it says a “PDF” is really a program, delete it.
What is a double extension?
A name such as holiday.jpg.exe. Windows hides known endings by default, so it shows as holiday.jpg and looks like a photo, but double-clicking it runs a program. Email attachments named this way are almost always malware.
What is the right-to-left override trick?
A hidden Unicode character that reverses the text after it. A file really called “report_[override]fdp.exe” is displayed as “report_exe.pdf”. This page shows the hidden character as [U+202E] so you can see the real name.
Why does a text file not show a type?
Plain text has no signature, so the page judges it by its shape instead: JSON, CSV, XML, HTML, scripts and certificates are recognised, and anything else is called plain text. Any ending is accepted for text, except one that promises a binary format such as .pdf or .jpg.
Last updated