This project has moved and is read-only. For the latest updates, please go here.


This project is pretty much abandoned. But there is a fork on GitHub: These guys have a lot more types detectable, but no NuGet package yet -(


Project Description
Library to decide what type of file we are working with. Detects file types by header, not by file extension.

Every file has an extension and if it is a binary file, it has magic numbers in the header of the file that indicate what type of file it is. It is not always easy to work out programmatically what type of file it is, if there is no (or incorrect) extension. This library provides an easy way of identifying the file types.

At the moment library can detect files of types:
Microsoft Word, Microsoft Excel, Microsoft PowerPoint, PDF, JPEG, ZIP, RAR, RTF, PNG, GIF

Great news. Nuget package is now available:

PM> Install-Package FileTypeDetective

Not many types are supported, I know!
But it is easy to extend and add new types yourself. If you require new types, please let me know.

Downloadable zip includes source code, compiled DLL file and help file with API description (generated from XML comments).
Or you can download the entire project from the source code and have a bash-on yourself. Source code also includes unit-tests.

The idea of the library is to be able to call isPdf(), isZip(), isDoc(), ect. on FileInfo objects:


FileInfo file = new FileInfo("C:\Hello.pdf");
if ( file.isPdf())
    Console.WriteLine("File is PDF");

There are some examples on Documentation page.

My other project cacheCopy - little windows application to extract images from your browser cache.

Last edited Oct 12, 2016 at 12:31 AM by trailmax, version 12