Best format for shared USB drives and SD cards

EXFAT is the most convenient format for sharing files between MacOS / Linux / Windows / Android. ExFAT does not support symbolic / soft links.

Operating systems have supported EXFAT for many years, since:

  • Windows: XP
  • MacOS: 10.6.3
  • Linux: CentOS 5, Ubuntu 10.04, etc.
  • Android: 4

On Linux (including Ubuntu 18.04), install ExFAT support:

apt install exfat-utils


Use FAT32 instead of EXFAT for:

  • Test equipment (e.g. Agilent)
  • some older USB drive accepting printers (print direct from USB stick)

Other file systems

These file systems are commonly, but not universally supported across OS’s.


  • MacOS (including MacOS 10.15 Catalina): NTFS is read-only by default.
  • Android needs additional third-party software for NTFS


FAT32 is readable by Windows / MacOS / Linux / Android, but is limited to 4 GB file size. With many USB HDDs over 2 TB, you would have to break up your HDD into multiple partitions for FAT32 – quite inconvenient. You could use FAT32 for a small USB flash drive.

Note: For old printers “USB Direct Print” it may be that only single partition FAT32 is supported. Keep a small USB drive formatted to FAT32 for this purpose.


ExFAT is generally the best choice for universal support on USB HDD. For USB flash thumb drives and SD cards, I format most to ExFAT. Keep a small flash drive formatted to FAT32 for the USB port on old USB direct print printers.