exFAT vs NTFS vs APFS/HFS+ vs ext4: Which File System to Use - featured illustration
|

exFAT vs NTFS vs APFS/HFS+ vs ext4: Which File System to Use

Move a drive between a Windows PC, a Mac and a Linux server and you quickly find that each operating system prefers a different file system. Windows uses NTFS, macOS uses APFS (and earlier HFS+), Linux mostly uses ext4, and exFAT is the neutral format many people use to share a drive. This article compares them, says which combinations can actually read and write which, and gives a practical recommendation for common situations. It expands the Windows-only view in Windows file systems compared.

The four systems in brief

  • NTFS is Windows’s native file system: journaling, ACL permissions, compression, encryption and very large files. See the NTFS guide.
  • exFAT is a lightweight file system from Microsoft made for flash drives and SD cards. No 4 GB file limit, but no journaling and no permissions.
  • HFS+ (Mac OS Extended) was the Mac file system from 1998 to 2017 and is journaled. Apple replaced it with APFS in macOS High Sierra (2017); APFS is now the default for SSDs and all current Macs, with snapshots, cloning and built-in encryption. HFS+ still appears on old external disks and Time Machine drives.
  • ext (ext2, ext3, ext4) is the family used by Linux. ext4 (2008) is the default on many distributions: journaled, supports very large files and volumes, and Unix-style permissions. Other Linux file systems such as XFS and Btrfs are common on servers.

Side-by-side comparison

NTFS exFAT APFS / HFS+ ext4
Native to Windows Portable media macOS, iOS Linux
Journaling / crash safety Yes No APFS is copy-on-write; HFS+ has a journal Yes
Permissions Windows ACLs None Unix permissions and ACLs Unix permissions, ACLs
Max file size Very large (multi-petabyte) Up to 16 EiB in theory Very large (APFS is 64-bit) 16 TiB (with 4 KB blocks)
Case sensitivity by default Case-insensitive Case-insensitive Case-insensitive by default (case-sensitive option) Case-sensitive
Snapshots Via Volume Shadow Copy No APFS yes No (use LVM or Btrfs)
Best for Windows system and data drives Drives shared across systems Mac drives Linux servers and desktops

What can read and write what

Windows macOS Linux
NTFS Read and write Read only by default (third-party drivers add writing) Read and write (ntfs3 or ntfs-3g)
exFAT Read and write Read and write Read and write (in-kernel driver since 5.7, a staging driver from 5.4, or the exfat-fuse tool on older systems)
APFS / HFS+ Not supported natively (third-party tools) Read and write HFS+ has a kernel driver (writing works on non-journaled volumes; journaled ones normally mount read-only). APFS needs separate drivers or tools.
ext4 Not supported natively (third-party tools; WSL 2 can mount ext4 disks) Not supported natively Read and write

Third-party drivers vary in quality, and writing to a foreign file system with an unreliable driver can corrupt it. For anything important, prefer a format the operating system supports natively.

Which one should you pick?

  1. A USB drive or SD card that moves between Windows and Mac, or that is used by a camera, console or TV: exFAT. Format with Disk Utility (macOS), File Explorer (Windows) or mkfs.exfat (Linux). Always eject the drive properly, because exFAT has no journal.
  2. Windows-only external drive: NTFS.
  3. Mac-only external drive: APFS for SSDs, and Mac OS Extended (Journaled) if it must work with macOS earlier than High Sierra. Time Machine backups should use the format the Mac suggests.
  4. Linux server or Linux-only disk: ext4 for general use, XFS for large files and databases.
  5. A drive shared between Windows and Linux on the same machine (dual boot): NTFS works for a shared data partition; disable Windows Fast Startup so Windows does not leave the NTFS volume in a hibernated state that Linux refuses to mount read-write.
  6. Files larger than 4 GB on a FAT32 drive: reformat as exFAT or NTFS.

How to check a drive’s file system

  • Windows: Get-Volume | Format-Table DriveLetter, FileSystem, Size
  • macOS: diskutil list and diskutil info /dev/disk2s1 (replace with your device)
  • Linux: lsblk -f or sudo blkid

Formatting erases the drive, so copy your data off first and double-check the device name before you confirm.

Common questions

Why does my Mac show an NTFS drive as read-only?

macOS includes NTFS read support but not write support. Use exFAT if the drive must be writable on both systems, or install a commercial or open-source NTFS driver.

Is exFAT safe for backups?

It is fine for a copy of files that you also keep elsewhere, but exFAT has no journal and stores no Unix or Windows permissions, so it is a poor choice for the only copy of important data or for system backups.

Can Windows read Linux drives?

Not natively. WSL 2 can mount Linux disks with wsl --mount, and third-party tools can browse ext4 volumes.

Sources

Related: A practical example of why the choice matters: the “file is too large for the destination file system” error on FAT32 USB drives.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *