Overview
The File Allocation Table, commonly called FAT, is a method for an operating system to find and track where file data is stored on a block-addressable device. Rather than storing all file data in one contiguous area, a FAT records a chain of numbered clusters so a file can span nonadjacent sectors. Because of its simplicity, FAT is supported by very many computers and devices and remains a popular choice for removable media and cross-platform exchange of stored data.
Structure and how it works
On a formatted volume the FAT itself is allocated near the start of the device. The table lists entries for each cluster that indicate whether the cluster is free, reserved, bad, or the next cluster in a file's chain. A file's directory entry includes the index of its first cluster; the system follows the chain in the FAT to read or write the entire file. Typical elements of a FAT volume include a boot sector, the FAT area (often kept as two identical copies for redundancy), and directory regions.
FAT is used on a range of media, from legacy floppy disks (floppy disks) to modern removable flash devices such as USB flash drives. The file abstraction that FAT supports allows an operating system to present files and directories (file entries) while the table handles low-level cluster mapping.
Variants and practical limits
Over time FAT evolved into several variants optimized for capacity and efficiency. Common forms are FAT12 (used originally for small floppy volumes), FAT16, and FAT32. Microsoft later introduced exFAT to handle much larger files and volumes used on flash storage. Each variant differs in the number of bits used per FAT entry and so affects maximum volume and file sizes. FAT formats generally lack advanced features found in modern file systems—such as journaling—which affects reliability and performance on very large or heavily written volumes.
- FAT12 — small media, simple metadata
- FAT16 — extended capacity over FAT12
- FAT32 — wider support, but with individual file size limits
- exFAT — designed for large flash media and big files
History and development
The FAT concept originated with early personal computer operating systems and was refined as disk and storage technology evolved. Implementations expanded from simple floppy disk bookkeeping to handle hard disks and then removable flash media. Vendors and operating systems retained or reimplemented FAT support because it remains a common interchange format across platforms and device types; early design simplicity helped it survive long after more advanced file systems appeared.
Its continued presence is partly due to wide support in firmware and system boot paths (PC compatibles) and the small implementation footprint that suits embedded environments.
Uses, compatibility and examples
FAT is commonly chosen when cross-platform compatibility is required: digital cameras, portable media players, printers, point-of-sale terminals and many embedded devices can all read or write FAT volumes. Typical uses include removable memory cards, camera storage, and shared USB drives. Many modern operating systems provide native FAT drivers so files can be exchanged between different host systems without additional software.
- Consumer devices: mobile and camera storage
- Embedded systems and firmware: small footprint and predictability
- Interchange media: broad OS compatibility and easy recovery
Notable distinctions and practical advice
FAT is attractive for portability but has trade-offs. It does not include built-in journaling or strong integrity checks, so it can be more vulnerable to corruption on improper removal. It also fragments more readily than modern file systems and can impose limits on maximum file size depending on the variant. For internal system disks or large-scale servers, newer file systems provide better performance, security and recovery features; for simple exchange of files between diverse devices, FAT and exFAT remain convenient and widely supported.
When choosing a format, consider device compatibility, expected file sizes, and whether robustness features such as journaling or permissions are required. Tools for formatting and recovering FAT volumes are common, and understanding the chain-based allocation model can help troubleshoot damaged files or unexpected free-space behavior. For developer reference or technical details, consult platform-specific documentation or implementation guides (see vendor resources and technical manuals via manufacturer documentation).