Developer(s) | Microsoft, NCR, SCP, IBM, Compaq, Digital Research, Novell, Caldera |
---|---|
Full name | File Allocation Table |
Variants | 8-bit FAT, FAT12, FAT16, FAT16B, FAT32, ExFAT, FATX, FAT+ |
Introduced | 1977Standalone Disk BASIC-80 | with
Partition identifier |
MBR/EBR: FAT12: 0x01 e.a. (Extended Attribute) FAT16: 0x04 0x06 0x0E e.a. FAT32: 0x0B 0x0C e.a. BDP: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 |
Structures | |
Directory contents | Table |
File allocation | Linked list |
Bad blocks | Cluster tagging |
Limits | |
Max. volume size | FAT12: 32 MiB (256 MiB for 64 KiB clusters) FAT16: 2 GiB (4 GiB for 64 KiB clusters) FAT32: 2 TiB (16 TiB for 4 KiB sectors) |
Max. file size | 4,294,967,295 bytes (4 GiB – 1) with FAT16B and FAT32 |
Max. number of files | FAT12: 4,068 for 8 KiB clusters FAT16: 65,460 for 32 KiB clusters FAT32: 268,173,300 for 32 KiB clusters |
Max. filename length | 8.3 filename, or 255 UCS-2 characters when using LFN |
Features | |
Dates recorded | Modified date/time, creation date/time (DOS 7.0 and higher only), access date (only available with ACCDATE enabled), deletion date/time (only with DELWATCH 2) |
Date range | 1980-01-01 to 2099-12-31 (2107-12-31) |
Date resolution | 2 seconds for last modified time, 10 ms for creation time, 1 day for access date, 2 seconds for deletion time |
Forks | Not natively |
Attributes | Read-only, Hidden, System, Volume, Directory, Archive |
File system permissions | FAT12/FAT16: File, directory and volume access rights for Read, Write, Execute, Delete only with DR-DOS, PalmDOS, Novell DOS, OpenDOS, FlexOS, 4680 OS, 4690 OS, Concurrent DOS, Multiuser DOS, System Manager, REAL/32 (Execute right only with FlexOS, 4680 OS, 4690 OS; individual file / directory passwords not with FlexOS, 4680 OS, 4690 OS; World/Group/Owner permission classes only with multiuser security loaded) FAT32: Partial, only with DR-DOS, REAL/32 and 4690 OS |
Transparent compression | FAT12/FAT16: Per-volume, SuperStor, Stacker, DoubleSpace, DriveSpace FAT32: No |
Transparent encryption | FAT12/FAT16: Per-volume only with DR-DOS FAT32: No |
Developer(s) | Microsoft, NCR, SCP |
---|---|
Full name | 8-bit File Allocation Table |
Introduced | 1977/1978: NCR Basic +6 for NCR 1978: Standalone Disk BASIC-80 (16-byte directory entries) (1978: Standalone Disk BASIC-86 internal only) 1979-06-04: Standalone Disk BASIC-86 for SCP (16-byte directory entries) 1979: MIDAS (32-byte directory entries) |
Limits | |
Max. file size | limited by volume size |
File size granularity | record-granularity (128 bytes) |
Max. filename length | 6.3 filename (binary files), 9 characters (ASCII files) |
Max. directory depth | no sub-directories |
Allowed characters in filenames | ASCII (0x00 and 0xFF not allowed in first character) |
Features | |
Dates recorded | No |
Attributes | Write protected, EBCDIC conversion, Read after write, Binary (random rather than sequential file) |
Developer(s) | SCP, Microsoft, IBM, Digital Research, Novell |
---|---|
Full name | 12-bit File Allocation Table |
Introduced | 1980-07 (QDOS 0.10, 16-byte directory entries) 1981-02-25 (86-DOS 0.42, 32-byte directory entries, several reserved sectors) ca. 1981-08/10 (PC DOS 1.0, 32-byte directory entries, 1 reserved sector) 1982-03-03 (MS-DOS 1.25, 32-byte directory entries, 1 reserved sector) |
Partition identifier |
MBR/EBR: FAT12: 0x01 e.a. BDP: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 |
Limits | |
Max. volume size | 16 MiB (with 4 KiB clusters) 32 MiB (with 8 KiB clusters) |
Max. file size | limited by volume size |
File size granularity | 1 byte |
Max. number of files | 4,068 for 8 KiB clusters |
Max. filename length |
8.3 filename with OEM characters, 255 UCS-2 characters when using LFN |
Max. directory depth | 32 levels or 66 characters (with CDS), 60 levels or more (without CDS) |
Features | |
Dates recorded | Modified date (not with 86-DOS before 0.42), modified time (not with PC DOS 1.0 and 86-DOS), creation date/time (DOS 7.0 and higher only), access date (only available with ACCDATE enabled), deletion date/time (only with DELWATCH 2) |
Date range | 1980-01-01 to 2099-12-31 (2107-12-31) |
Date resolution | 2 seconds for last modified time, 10 ms for creation time, 1 day for access date, 2 seconds for deletion time |
Attributes | Read-only (since DOS 2.0), Hidden, System, Volume (since MS-DOS 1.28 and PC DOS 2.0), Directory (since MS-DOS 1.40 and PC DOS 2.0), Archive (since DOS 2.0) |
File system permissions | File, directory and volume access rights for Read, Write, Execute, Delete only with DR-DOS, PalmDOS, Novell DOS, OpenDOS, FlexOS, 4680 OS, 4690 OS, Concurrent DOS, Multiuser DOS, System Manager, REAL/32 (Execute right only with FlexOS, 4680 OS, 4690 OS; individual file / directory passwords not with FlexOS, 4680 OS, 4690 OS; World/Group/Owner permission classes only with multiuser security loaded) |
Transparent compression | Per-volume, SuperStor, Stacker, DoubleSpace, DriveSpace |
Transparent encryption | Per-volume only with DR-DOS |
Developer(s) | Microsoft, IBM, Digital Research, Novell |
---|---|
Full name |
16-bit File Allocation Table (with 16-bit sector entries) |
Introduced | 1984-08-14 (PC DOS 3.0) 1984-08 (MS-DOS 3.0) |
Partition identifier |
MBR/EBR: FAT16: 0x04 e.a. BDP: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 |
Limits | |
Max. file size | limited by volume size |
File size granularity | 1 byte |
Max. number of files | 65,536 for 32 KiB clusters |
Max. filename length |
8.3 filename with OEM characters, 255 UCS-2 characters when using LFN |
Max. directory depth | 32 levels or 66 characters (with CDS), 60 levels or more (without CDS) |
Features | |
Dates recorded | Modified date/time, creation date/time (DOS 7.0 and higher only), access date (only available with ACCDATE enabled), deletion date/time (only with DELWATCH 2) |
Date range | 1980-01-01 to 2099-12-31 (2107-12-31) |
Date resolution | 2 seconds for last modified time, 10 ms for creation time, 1 day for access date, 2 seconds for deletion time |
Attributes | Read-only, Hidden, System, Volume, Directory, Archive |
File system permissions | File, directory and volume access rights for Read, Write, Execute, Delete only with DR-DOS, PalmDOS, Novell DOS, OpenDOS, FlexOS, 4680 OS, 4690 OS, Concurrent DOS, Multiuser DOS, System Manager, REAL/32 (Execute right only with FlexOS, 4680 OS, 4690 OS; individual file / directory passwords not with FlexOS, 4680 OS, 4690 OS; World/Group/Owner permission classes only with multiuser security loaded) |
Transparent compression | Per-volume, SuperStor, Stacker, DoubleSpace, DriveSpace |
Transparent encryption | Per-volume only with DR-DOS |
Developer(s) | Compaq, Digital Research, IBM, Microsoft, Novell |
---|---|
Full name |
16-bit File Allocation Table (with 32-bit sector entries) |
Introduced | 1987-11 (Compaq MS-DOS 3.31) 1988-06-28 (DR DOS 3.31) 1988 (IBM DOS 4.0) 1988 (OS/2 1.1) 1988 (MS-DOS 4.0) |
Partition identifier |
MBR/EBR: FAT16B: 0x06 0x0E (LBA), e.a. BDP: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 |
Limits | |
Min. volume size | 8 MiB (with 128 byte sectors) 32 MiB (with 512 byte sectors) 256 MiB (with 4 KiB sectors) |
Max. volume size | 2 GiB (with 32 KiB clusters) 4 GiB (with 64 KiB clusters) (NT 4, PTS-DOS, EDR-DOS) 8 GiB (with 128 KiB clusters and 1 or 2 KiB sectors) (NT 4 and EDR-DOS only) 8 GiB (with 128 KiB clusters and 512 byte sectors) (EDR-DOS only) 16 GiB (with 256 KiB clusters and 2 or 4 KiB sectors) (NT 4 only) |
Max. file size | 2,147,483,647 bytes (2 GiB – 1) (without LFS) 4,294,967,295 bytes (4 GiB – 1) (with LFS) limited by volume size only (with FAT16+) |
File size granularity | 1 byte |
Max. number of files | 65,460 for 32 KiB clusters |
Max. filename length |
8.3 filename with OEM characters, 255 UCS-2 characters when using LFN |
Max. directory depth | 32 levels or 66 characters (with CDS), 60 levels or more (without CDS) |
Features | |
Dates recorded | Modified date/time, creation date/time (DOS 7.0 and higher only), access date (only available with ACCDATE enabled), deletion date/time (only with DELWATCH 2) |
Date range | 1980-01-01 to 2099-12-31 (2107-12-31) |
Date resolution | 2 seconds for last modified time, 10 ms for creation time, 1 day for access date, 2 seconds for deletion time |
Attributes | Read-only, Hidden, System, Volume, Directory, Archive |
File system permissions | File, directory and volume access rights for Read, Write, Execute, Delete only with DR-DOS, PalmDOS, Novell DOS, OpenDOS, FlexOS, 4680 OS, 4690 OS, Concurrent DOS, Multiuser DOS, System Manager, REAL/32 (Execute right only with FlexOS, 4680 OS, 4690 OS; individual file / directory passwords not with FlexOS, 4680 OS, 4690 OS; World/Group/Owner permission classes only with multiuser security loaded) |
Transparent compression | Per-volume, SuperStor, Stacker, DoubleSpace, DriveSpace |
Transparent encryption | Per-volume only with DR-DOS |
Developer(s) | Microsoft, Caldera |
---|---|
Full name |
32-bit File Allocation Table (with 28-bit cluster entries) |
Introduced | August 1996 (Windows 95 OSR2) |
Partition identifier |
MBR/EBR: FAT32: 0x0B 0x0C (LBA), e.a. BDP: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 |
Limits | |
Min. volume size | 32 MiB-4.5 KiB (with 65525 clusters and 512 byte sectors) 256 MiB-36 KiB (with 65525 clusters and 4 KiB sectors) |
Max. volume size | 2 TiB (with 512 byte sectors) 8 TiB (with 2 KiB sectors and 32 KiB clusters) 16 TiB (with 4 KiB sectors and 64 KiB clusters) |
Max. file size | 2,147,483,647 bytes (2 GiB – 1) (without LFS) 4,294,967,295 bytes (4 GiB – 1) (with LFS) 274,877,906,943 bytes (256 GiB – 1) (only with FAT32+) |
File size granularity | 1 byte |
Max. number of files | 268,173,300 for 32 KiB clusters |
Max. filename length |
8.3 filename with OEM characters, 255 UCS-2 characters when using LFN |
Max. directory depth | 32 levels or 66 characters (with CDS), 60 levels or more (without CDS) |
Features | |
Dates recorded | Modified date/time, creation date/time (DOS 7.0 and higher only), access date (only available with ACCDATE enabled), deletion date/time (only with DELWATCH 2) |
Date range | 1980-01-01 to 2099-12-31 (2107-12-31) |
Date resolution | 2 seconds for last modified time, 10 ms for creation time, 1 day for access date, 2 seconds for deletion time |
Attributes | Read-only, Hidden, System, Volume, Directory, Archive |
File system permissions | Partial, only with DR-DOS, REAL/32 and 4690 OS |
Transparent compression | No |
Transparent encryption | No |
File Allocation Table (FAT) is a computer file system architecture and a family of industry-standard file systems utilizing it. The FAT file system is a legacy file system which is simple and robust. It offers good performance even in lightweight implementations, but cannot deliver the same performance, reliability and scalability as some modern file systems. It is, however, supported for compatibility reasons by nearly all currently developed operating systems for personal computers and many mobile devices and embedded systems, and thus is a well-suited format for data exchange between computers and devices of almost any type and age from 1981 up to the present.
Originally designed in 1977 for use on floppy disks, FAT was soon adapted and used almost universally on hard disks throughout the DOS and Windows 9x eras for two decades. As disk drives evolved, the capabilities of the file system have been extended accordingly, resulting in three major file system variants: FAT12, FAT16 and FAT32. The FAT standard has also been expanded in other ways while generally preserving backward compatibility with existing software.
With the introduction of more powerful computers and operating systems, as well as the development of more complex file systems for them, FAT is no longer the default file system for usage on Microsoft Windows computers.
FAT file systems are still commonly found on floppy disks, flash and other solid-state memory cards and modules (including USB flash drives), as well as many portable and embedded devices. FAT is the standard file system for digital cameras per the DCF specification.