Published Oct 25, 2026, 8:00 AM EDT Ismar is a Senior Author at How-To Geek. He previously worked as a writer, editor, and general manager at a content agency before joining the team in 2023. He began his writing career in 2021 after completing a BA in English Language and Literature. Beyond How-To Geek, Ismar has contributed to Red Stag Fulfillment and Authority Hacker. He has also worked on various SEO projects to help clients improve their search visibility. Ismar has been around Windows PCs since the age of three, so friends and family naturally chose him as the resident tech support. His projects often involve tinkering, such as disassembling mechanical keyboards and gaming mice to mod his beloved gear. He also enjoys pushing hardware to the max through overclocking while staying on a reasonable budget. An avid gamer, Ismar has logged thousands of hours across various genres, including first-person shooters, RPGs, racing games, and roguelites. When he is not at his desk, he is probably exploring other people’s phones to discover their quirks and features or experimenting with the latest AI tools. In his free time, Ismar enjoys spending time with his wife, working out at the gym, playing guitar and bass, cooking gourmet meals, and traveling. Above all else, he’s a proud cat owner. File systems are something we rarely think about anymore, but in the early days of Windows, they could make a surprisingly big difference in how much of your pricey hard drive you actually got to use. FAT16 had one incredibly frustrating quirk with how it handled cluster sizes. Its inefficiency effectively punished you for buying a bigger hard drive, as it could leave you wasting much of the storage you paid for. FAT16 hit a hard wall with large hard drives Hard drives outgrew FAT16's limitations FAT16 is an old-school file system that was first introduced with MS-DOS 3.0 and quickly became a mainstay throughout much of the MS-DOS and early Windows era of personal PCs in the late 1980s and early 1990s. FAT16 uses 16-bit entries in the file allocation table to track clusters, which allows it to represent 65,536 possible values, with some FAT entry values reserved for special purposes. In case you aren't familiar with the technical jargon, a cluster is the smallest unit of disk space that a file system can allocate, regardless of the actual size of the file. When FAT16 first came out, it wasn't much of a limitation. Hard drives were often only around 10–20MB in 1984, which meant the cluster limit wasn't much of a problem. However, hard drive capacities grew rapidly over just a few years, and as partitions got larger, FAT16's hard cluster limit meant that clusters had to grow bigger, wasting increasingly large amounts of space. This is because cluster sizes increased along with volume sizes, reaching 16KB on a 512MB volume or, worse still, 32KB on a 1GB or 2GB volume. The 2GB limit for DOS-compatible FAT16 partitions came with an expanded version of the file system introduced with MS-DOS 3.31 in 1987. When Windows NT 3.51 arrived in 1995, it expanded FAT16 to support volumes up to 4GB by using 64KB clusters, although these larger volumes weren't compatible with legacy DOS and the newer Windows that followed, which made dual-booting much more difficult. FAT16's inefficiency punished you for buying a large hard drive Large clusters resulted in drastically less usable space The biggest problem with such large cluster sizes is that they're incredibly inefficient, especially with tiny files. A near-empty plain text (TXT) file with just a few words only takes up a few bytes, but the file system still has to allocate an entire cluster to it. When this cluster is as large as 32KB, storing tiny files becomes very inefficient very quickly, especially when you consider just how small and expensive hard drives were at the time. To give you an idea of just how big of a problem this really was, if you had a 1GB hard drive partition with a 32KB cluster size and stored 10,000 tiny .txt files on it, they would consume about 328MB of storage, even if their actual contents amounted to only a few megabytes. Likewise, if a file went even a byte over FAT16's cluster size, it would need an additional cluster, further deteriorating the space efficiency of larger volumes with lots of small files. Just imagine yourself in the shoes of a hobbyist who needed a high-end computer in 1994. You spend around $800 ($1,818 in today's money) on a 1GB hard drive, only to discover that the thousands of your tiny text files, scripts, configuration files, and documents wasted a third of your precious storage space. This wasted space has a name — it's known as cluster slack, and every file system can suffer from it to some extent. Even NTFS, the modern and drastically more efficient file system that the vast majority of consumer Windows PCs run on today, can have some amount of cluster slack. NTFS defaults to a cluster size of 4KB for volumes up to 16TB. That's a fraction of FAT16's 32KB cluster size on large volumes, but it can still leave unused space in clusters allocated to small configuration files like JSON, INI, CFG, and XML files, as well as shortcuts. However, NTFS can also store small files directly in the Master File Table (MFT) without allocating a separate cluster for their contents. Partitioning the drive was the inconvenient workaround Great, more partitions to keep track of While FAT16's limited number of addressable clusters forced cluster sizes to grow with volume size, there was a surprisingly simple workaround: just partition your drive. FAT16's cluster size limit applied to each volume, so splitting a drive into smaller partitions could reduce the cluster size. A 1GB drive split into four 256MB partitions could use 8KB clusters, which many enthusiasts opted to do. Dealing with multiple partitions was just as annoying then as it is today. Users had to plan ahead when installing programs, storing large files, and organizing data before a volume ran out of space. Still, it was a practical workaround if you didn't want to waste the expensive storage you'd spent hundreds of dollars on. In theory, you could even create a 1,023MB partition on a 1GB hard drive and leave the remaining megabyte unallocated. This could drop the cluster size from 32KB to 16KB, a much more reasonable compromise if you still needed a single large volume. FAT32 finally let Windows move past FAT16's limitations After several years of struggling with cluster inefficiencies as hard drives grew larger, Microsoft addressed the problem with FAT32, introduced alongside Windows 95 OSR2 in 1996. Unfortunately, this update was largely restricted to OEMs, so FAT32 didn't become widely available to consumers until Windows 98 arrived in 1998. FAT32 was much more efficient with its cluster allocation — it used 4KB clusters on volumes up to 8GB. Of course, cluster slack still became a problem as volumes grew, and FAT32 was eventually replaced on most mainstream PCs by NTFS with the launch of Windows XP (though not on USBs). NTFS was actually older than FAT32, but it wasn't supported by MS-DOS and the DOS-based Windows 95 and 98.
This old Windows limitation punished you for buying a bigger hard drive
Full Article
Original Source
Read the full article at Howtogeek →KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.