File systems are methods used by a computer to organize and manage the data on its storage devices.
File systems are important because because computers (and smartphones) have so many files to manage. These include both factory and user-installed. It would not be funny if you saved a file to your smartphone or computer and you were unable to find it later.
As a result, computers (and smartphones) must manage the data they have in a way that is efficient and easily recoverable. This way files would be easier to save, locate, and retire. Thus file systems have become necessary.
There are several file systems in use today. A lot of these are usually based on the Operating system and while some may support several OS, others may not.
File sys | Max file size | Max storage size |
FAT12 | 16MB | 16MB |
FAT16 | 2GB | 4GB |
FAT32 | 4GB | 32GB |
exFAT | 16EB | 128PB |
NTFS | 16EB | 16EB |
ext4 | 16TB | 1EB |
File Allocation Table (FAT)
The File Allocation Table (FAT for short) is a file system developed by Microsoft for Windows. It was originally designed for Hard Disks (HDDs) but has been updated to work on flash storage devices (USB drives, MicroSD cards, etc.).
The major versions of FAT are FAT 12, FAT 16 and FAT 32. The only surviving variant still around today is the FAT 32. Each version has limits for maximum file sizes and storage capacity. For example, a storage formatted with FAT 16 would not support file sizes over 4GB. FAT 32 is still very popular today because it enjoys a lot of support from Windows, MacOS, Linux, Android, iOS, Ubuntu, etc.
All USB flash and microSD cards with capacities of 32GB or below come formatted with FAT32.
A major disadvantage of FAT is that it cannot manage storage with data capacities (or volumes) over 32GB.
Extensible File Allocation Table (exFAT)
The extensible File Allocation Table or exFAT is a file system that was developed as a successor to the FAT file system. It was developed by Microsoft for microSD cards and USB flash drives. exFAT was introduced in 2006 with Windows XP and Vista.
It is a huge leap over its predecessor as it can support file sizes over 4GB and data capacity for storage over 32 GB. ExFAT can support file sizes up to 16EB (theoretically) and storage capacities up to 128 Petabytes.
All MicroSD cards and USB flash above 32GB come formatted with exFAT.
Just like its predecessor, exFAT also enjoys a wide range of OS support from Windows, MacOS, Android, and iOS, although Linux users may need a driver to access Flash that is formatted with exFAT.
New Technology File System (NTFS)
New Technology File System (or NTFS) was introduced as far back as 1993 for the Windows NT and later in the year 2000 for the NT’s successor, Windows 2000. NTFS can still be found on the latest versions of Windows today.
NTFS is the default file system for all Windows systems.
Just like exFAT, it is a lot better than FAT with features such as journaling, data recovery, data encryption/security, partition sizes, permissions, extended file sizes, etc. Speaking of file sizes, it supports file sizes up to 16 exabytes and ditto for storage capacity/volume. it is best used for formatting internal storage drives (HDD/SSD).
A major disadvantage of NTFS is that it does not enjoy a lot of support from other OS besides Windows. On Linux and MacOS, flash formatted with NTFS are read-only.
Extended file system (ext)
The extended file system (ext) was launched for Linux in 1992 and has been updated from ext2 to ext4.
ext4 introduced journaling and also shares a lot of the features that NTFS has. However, it does have a file size limit of 16 terabytes and a max storage limit of 1 exabyte.
Just like NTFS, it lacks support for other major OS such as Windows or MacOS.
Other important file systems
There are other file systems in such today which are the Apple File System (APFS) and the Zed File System.
The file systems built for MacOS include HFS, HFS+, and APFS. These are all owned by Apple and used exclusively for MacOS and lack support for other OS.
Zed File System (ZFS) on the other hand is an open-sourced file system initially developed by Sun Microsystems. It is now managed by the OpenZFS project and it is available for users of Linux, FreeBSD, and True OS.
- For file system drives: use NTFS (windows), HFS+/APFS (MacOS), and ext4 (Linux)
- For removable flash storage: use FAT32 for cards/drives below 32GB and exFAT for cards/drives above 32GB
Please leave a comment if you have any difficulty and remember to: