What is File Allocation Table (FAT)?

Everything You Need to Know About FAT32, exFAT, FAT16, & FAT12

Picture of a hard disc drive
© Wladimir Bulgar / Science Photo Library / Getty Images

File Allocation Table (FAT) is a file system that was created by Microsoft in 1977.

FAT is still in use today as the preferred file system for floppy drive media and portable, high capacity storage devices like flash drives and other solid-state memory devices like SD cards.

FAT was the primary file system used in all of Microsoft's consumer operating systems from MS-DOS through Windows ME. Even though FAT is still a supported option on Microsoft's newer operating systems, NTFS is the primary file system used these days.

The File Allocation Table file system has seen advancements over time primarily due to the need to support larger hard disk drives and larger file sizes.

Here's a lot more on the different versions of the FAT file system:

FAT12 (12-bit File Allocation Table)

The first widely used version of the FAT file system, FAT12, was introduced in 1980, right along with the first versions of DOS.

FAT12 was the primary file system for Microsoft operating systems up through MS-DOS 3.30 but was also used in most systems up through MS-DOS 4.0. FAT12 is still the file system used on the occasional floppy disk you'll find today.

FAT12 supports drive sizes and file sizes of up to 16 MB using 4 KB clusters or 32 MB using 8 KB ones, with a maximum number of 4,084 files on a single volume (when using 8KB clusters).

File names under FAT12 cannot exceed the maximum character limit of 8 characters, plus 3 for the extension.

A number of file attributes were first introduced in FAT12, including hidden, read-only, system, and volume label.

Note: FAT8, introduced in 1977, was the first true version of the FAT file system but had limited use and only on some terminal-style computer systems of the time.

FAT16 (16-bit File Allocation Table)

The second implementation of FAT was FAT16, first introduced in 1984 in PC DOS 3.0 and MS-DOS 3.0.

A slightly more improved version of FAT16, called FAT16B, was the primary file system for MS-DOS 4.0 up through MS-DOS 6.22. Beginning with MS-DOS 7.0 and Windows 95, a further improved version, called FAT16X, was used instead.

Depending on the operating system and the cluster size used, the maximum drive size a FAT16-formatted drive can be ranges from 2 GB up to 16 GB, the latter only in Windows NT 4 with 256 KB clusters.

File sizes on FAT16 drives max out at 4 GB with Large File Support enabled, or 2 GB without it.

The maximum number of files that can be held on a FAT16 volume is 65,536. Just like with FAT12, file names were limited to 8+3 characters but was extended to 255 characters starting with Windows 95.

The archive file attribute was introduced in FAT16.

FAT32 (32-bit File Allocation Table)

FAT32 is the latest version of the FAT file system. It was introduced in 1996 for Windows 95 OSR2 / MS-DOS 7.1 users and was the primary file system for consumer Windows versions through Windows ME.

FAT32 supports basic drive sizes up to 2 TB or even as high as 16 TB with 64 KB clusters.

Like with FAT16, file sizes on FAT32 drives max out at 4 GB with Large File Support turned on or 2 GB without it.

A modified version of FAT32, called FAT32+, supports files close to 256 GB in size!

Up to 268,173,300 files can be contained on a FAT32 volume so long as it's using 32 KB clusters.

exFAT (Extended File Allocation Table)

exFAT, first introduced in 2006, is yet another file system created by Microsoft although it's not the "next" FAT version after FAT32.

exFAT is primarily intended to be used on portable media devices like flash drives, SDHC and SDXC cards, etc.

exFAT officially supports portable media storage devices up to 512 TiB in size but theoretically could support drives as large as 64 ZiB, which is considerably larger than any media available as of this writing.

Native support for 255 character filenames and support for up to 2,796,202 files per directory are two noteworthy features of the exFAT system.

The exFAT file system is supported by almost all versions of Windows (older ones with optional updates), Mac OS X (10.6.5+), as well as on many TV, media, and other devices.

Moving Files From NTFS to FAT Systems

File encryption, file compression, object permissions, disk quotas, and the indexed file attribute are available on the NTFS file system only - not FAT. Other attributes, like the common ones I mentioned in the discussions above, are also available on NTFS.

Given their differences, if you place an encrypted file from an NTFS volume into a FAT-formatted space, the file loses its encryption status, meaning the file can be used like a normal, non-encrypted file. Decrypting a file in this way is only possible for the original user that encrypted the file, or any other user that as been granted permission by the original owner.

Similar to encrypted files, since FAT doesn't support compression, a compressed file is automatically decompressed if it's copied out of an NTFS volume and onto a FAT volume. For example, if you copy a compressed file from an NTFS hard drive to a FAT floppy disk, the file will automatically decompress before it's saved to the floppy because the FAT file system on the destination media doesn't have the capability to store compressed files.

Advanced Reading on FAT

While it's way beyond the basic FAT discussion here, if you're interested in more about how FAT12, FAT16, and FAT32 formatted drives are structured, check out The FAT Filesystems by Andries E. Brouwer.