Should I use exFAT or FAT32 for Android SD card?

FAT32 (File Allocation Table 32) and exFAT (Extended File Allocation Table) are the most common file systems for SD cards used in devices like cameras, mobile phones, and tablets. Both FAT32 and exFAT originate from the original FAT system developed by Microsoft in the 1980s for floppy disks.

FAT32 was introduced in Windows 95 to replace the older FAT16 file system. It allowed support for larger partition sizes up to 2 TB and improved support for larger files. However, FAT32 still has a maximum file size limit of 4GB.

exFAT was later introduced in Windows Vista as a lightweight file system optimized for flash memory like SD cards and USB drives. It supports very large file sizes up to 16 exabytes and partitions up to 128 petabytes. exFAT lacks some of the dated features of FAT32 and is not as compatible with older operating systems.

Storage Capacity

One of the key differences between exFAT and FAT32 is the maximum storage capacity supported. FAT32 is limited to a maximum partition size of 32GB, whereas exFAT supports a theoretical limit of 16EB (exabytes). In practical terms, this means that FAT32 can only be used on smaller SD cards up to 32GB, while exFAT enables use of SD cards up to 2TB.

If you need to use a high capacity SD card larger than 32GB, such as a 64GB or 128GB card, you will need to format it with exFAT rather than FAT32. The 32GB file size restriction of FAT32 will prevent the SD card from being fully utilized if formatted with FAT32. As most newer Android devices have moved to using SD cards larger than 32GB for expanded storage, exFAT is the recommended file system for flexibility.

However, for smaller SD cards 32GB or less, FAT32 may still be a suitable option if compatibility with older devices is needed.

Sources:

https://www.winxdvd.com/resize-video/fat32-file-size-limit.htm

https://www.winability.com/fat32-max-file-size-limit/

Individual File Size

FAT32 limits the maximum size for individual files to 4GB [1]. If a file is larger than 4GB, you will get an error trying to copy or move it to a FAT32 formatted drive or SD card. This 4GB file size limitation is one of the biggest disadvantages of using FAT32 compared to more modern file systems like exFAT or NTFS which support much larger individual file sizes.

While you can still store files larger than 4GB on a FAT32 drive by splitting them into smaller parts, this is an inconvenient workaround. For example, a 6GB video file would need to be split into two separate files below 4GB each before it could be transferred onto a FAT32 SD card or drive. This complicates file management and accessibility of the data.

Therefore, if you need to regularly transfer media files or other large individual files greater than 4GB in size, exFAT is likely the better file system option as it eliminates this FAT32 limitation.

Number of Files

exFAT does not have a limit on the number of files that can be stored (NTFS, FAT32, exFAT file systems and their limitations). This makes it a good choice for external storage devices where you may store a large number of files.

FAT32 has a limit of 268,435,455 files per volume (exFAT vs. FAT32 Comparison). Once this limit is reached, no additional files can be saved to the FAT32 drive. This makes FAT32 unsuitable for external storage where you expect to store a large number of files.

Compatibility

FAT32 is compatible with more older operating systems and devices compared to exFAT. As FAT32 has been around longer, it has broader device support on older computers, gaming consoles, cameras, etc. Most devices manufactured before 2010 likely only support FAT32 (Source).

ExFAT is compatible with newer operating systems like Windows 7, 8, 10 and modern devices. However, exFAT may not work with some older devices. Before formatting a device to exFAT, check compatibility to avoid issues. In general, using FAT32 ensures maximum compatibility with a wider range of devices (Source).

Power Failure

One significant difference between exFAT and FAT32 is how they handle power failures or unexpected system crashes. FAT32 is known to be vulnerable to data corruption if power is lost while writing files to the disk. This is because FAT32 only has a single file allocation table (FAT) that tracks where files are stored, so if that gets corrupted, data can be lost.[1]

In contrast, exFAT is designed to be much more resilient to power failures and system crashes. It uses checksums to help detect and recover from corruption. Additionally, exFAT has redundant copies of key file system metadata like the FAT to prevent data loss if part of the file system becomes corrupted.[2] This makes exFAT the much safer choice for removable media like SD cards that may be prone to unexpected disconnects.

Speed

When it comes to speed, tests show that exFAT has a slight performance advantage over FAT32 in most cases. In real-world tests, exFAT was found to be around 9% faster than FAT32 for medium-sized file transfers on USB drives. This is likely because exFAT has less overhead than FAT32 during writes. However, the difference is quite small and may not be noticeable in everyday use.

Both FAT32 and exFAT are generally much faster than the NTFS file system on flash media like SD cards and USB drives. This is because NTFS is optimized for mechanical hard drives, while FAT32 and exFAT are optimized specifically for flash memory. In the same tests comparing file systems, NTFS performed significantly slower than exFAT or FAT32 on flash drives.

In summary, while exFAT ekes out a bit better performance than FAT32 in benchmarks, both are fast options for SD cards and the speed difference is marginal. For most users, speed will not be a major factor deciding between FAT32 and exFAT.

Fragmentation

One of the key differences between exFAT and FAT32 is that exFAT is less prone to fragmentation. Fragmentation occurs when files are written to different locations on the disk, leaving gaps between the pieces. This can slow down file access as the drive has to seek between the fragments to read the complete file. FAT32 is more susceptible to fragmentation due to its smaller cluster size.

exFAT uses a larger cluster size (typically 128 MB) compared to FAT32 (32 KB). This means files are less likely to be split into multiple fragments on an exFAT drive, improving performance for accessing large files [1]. However, some sources note that exFAT does still have some fragmentation capabilities for smaller files [2]. Overall, exFAT’s design reduces fragmentation issues compared to FAT32.

In summary, exFAT’s larger cluster size helps mitigate file fragmentation, providing better performance for large files. This makes it well-suited for external drives used for multimedia content.

Security

One key difference between exFAT and FAT32 is that exFAT lacks the encryption capabilities of FAT32. FAT32 uses file allocation table encryption to password protect and encrypt the file system. This prevents unauthorized access to data on the drive. In contrast, exFAT does not have any built-in encryption features [1]. This makes exFAT potentially less secure for sensitive data.

However, encryption can be added to exFAT through third party software solutions. Some advantages of exFAT such as larger file sizes may outweigh the lack of native encryption for certain use cases involving large media files. But for storage of sensitive documents, FAT32’s integrated encryption may be preferable to protect data if the drive is ever lost or stolen [2].

Recommendation

In summary, the decision between exFAT and FAT32 for an Android SD card comes down to a few key factors:

Use exFAT if:[1]

  • You need to store files over 4GB in size
  • You want to maximize storage capacity
  • You have a newer Android device that supports exFAT

Use FAT32 if:[2]

  • You need broader compatibility with older Android devices
  • You want a more robust file system less prone to corruption
  • You don’t need to store files over 4GB

Overall, exFAT is preferable for newer Android devices if you need the extra storage capacity and ability to save larger files. But FAT32 remains a reliable, compatible choice for SD cards used across multiple older Android devices.