NTFS vs. FAT32

It's often asked; FAT32 or NTFS?  Windows XP pushes you towards NTFS due to artificial limitations of its setup tools, and NT advocates nearly always say "use NTFS it's more secure".  But you may want to think a bit further than that glib knee-jerk advice.

Executive summary

NTFS is a better file system, but the available maintenance tools and options suck.

Either choice, you will win some and lose some.


FATxx is an old file system that is simple, well-documented, readable from a large number of OSs, and supported by a wide range of tools.

NTFS is a newer file system that is feature-rich, proprietary, undocumented at the raw bytes level, and subject to change - even within Service Packs of the same OS version. 

Keeping NTFS proprietary allows Microsoft to root NT's security features deep within the file system itself, but it does cast doubts about the reliability and version-compatibility of third-party support.  Without an official maintenance OS from Microsoft, one is forced to look to 3rd-party solutions, and the high stakes involved make FUD about accuracy of NTFS support a serious issue. 

You are obliged to use FATxx if you need access from DOS mode or Win9x, e.g. in a dual-boot scenario.

You are obliged to use NTFS if you need support for files over 4G in size, hard drives over 137G in size, and/or you need to implement some of NT's security management that devolves down to NTFS.

Else, weigh up the pros and cons, and remember you can use multiple volumes, with different file systems for each. Even FAT16 has niche strengths (small FAT, large cluster size, easier data recovery) that may make it attractive for certain types of content.

More detail

NTFS may be faster...
   - smaller RAM footprint as avoids large FAT held in RAM
   - indexed design more efficient for many files per directory
   - small file data embedded in dir level, avoids seek to data chain
   - above factors make fragmentation less onerous than for FATxx
   - 4k cluster size matches processor's natural paging size
...or slower...
   - extra overhead of security checks, compression, encryption
   - small clusters may fragment data cluster chains

NTFS may be safer...
   - transaction rollback cleanly undoes interrupted operations
   - file-level permissions can protect data against malware etc.
   - automatically "fixes" failing clusters on the fly (controversial)
...or more at risk...
   - no interactive file system checker (a la Scandisk) for NTFS
   - no maintenance OS for NTFS
   - malware can drill right through NTFS protection, e.g. Witty
   - transaction rollback does not preserve user data
   - transaction rollback does not help other causes of corruption
   - more limited range of maintenance tools
   - automatically "fixes" failing clusters on the fly (controversial)

NTFS may be more space-efficient...
   - smaller cluster size than FAT32 above 8G
   - may include data of small files within the directory level
   - NTFS's bitmap structure is smaller than FAT32's dual FAT
   - sparse files and compression can reduce data space usage
...or less so...
   - NTFS has large MFT structure
   - larger per-file directory metadata space

I would use NTFS where:

But while NTFS has no maintenance OS from which...

...I would avoid the use of NTFS in consumer PCs.


(C) Chris Quirke, all rights reserved - May 2004

Back to index