File Systems Explained: FAT32, NTFS, ext4, APFS, and How They Work
A file system is the method an operating system uses to organize, name, store, and retrieve data on a drive. It sets the on-disk structure (where each file lives, the folder tree, and metadata like size, dates, and permissions) so the same physical storage can hold thousands of files the OS can find again. The five you meet in daily life are NTFS, APFS, ext4, FAT32, and exFAT.
What Is a File System?
A file system is the data structure and set of rules an OS uses to control how data is stored and read back on a drive:
- Without one: a drive is an undifferentiated block of bytes with no way to tell where one file ends and the next begins.
- What it tracks: file names, sizes, on-disk locations, creation dates, and permissions, all held as metadata next to the file data.
- How it stores: drives split capacity into fixed-size blocks (512 bytes or 4,096 bytes), and the file system maps which blocks belong to each file.
Best to remember: the file system is the index and the rulebook; the drive is just the shelf.
How File Systems Organize Data
File systems track where every file’s bytes live using one of three core structures:

Inodes (Unix/Linux)
File Allocation Table
B-trees and extents
Best to remember: older portable formats chain clusters; modern system formats use trees and extents for speed.
The 5 Major File Systems
Five file systems cover almost every drive you will touch, each tied to a platform or a job:
NTFS (Windows)
APFS (macOS)
ext4 (Linux)
FAT32 (universal)
exFAT (flash, large files)
What Is Journaling, and Why Does It Matter?
Journaling is a crash-recovery feature: the file system records what it is about to change in a small log first, then makes the change:
- The problem it solves: if power is lost mid-write, half-finished changes can corrupt the drive and trigger a slow full scan on the next boot.
- The fix: after a crash the OS replays or clears the journal, so the file system returns to a consistent state quickly.
- Who has it: NTFS and ext4 journal their metadata; FAT32 and exFAT do not (one reason they are riskier for a main drive).
- APFS instead: uses copy-on-write (it writes new copies, then swaps a pointer) to get the same crash safety without a traditional journal.
Best to remember: journaling is why a modern system drive survives a power cut without losing the whole disk.
File System Comparison Table
The table compares the five file systems across max file size, max volume, journaling, permissions, and default use:

| File System | Max File Size | Max Volume | Journaling | Permissions | Default Use |
|---|---|---|---|---|---|
| FAT32 | 4GB − 1 byte | 2TB | No | No | USB drives, SD cards (legacy) |
| exFAT | 16EB | 128PB | No | No | SDXC/SDUC cards, USB drives |
| NTFS | 16TB (practical) | 256TB | Yes (metadata) | Yes (ACL) | Windows system drive |
| ext4 | 16TB | 1EB | Yes (3 modes) | Yes (POSIX) | Linux system drive |
| APFS | 8EB | 8EB | Copy-on-write | Yes (POSIX) | macOS/iOS SSD |
How to Choose a File System (by Use Case)
The right choice comes down to which operating systems must read the drive, how big the files are, and whether you need journaling:
- Windows system or data drive: NTFS, for journaling, permissions, encryption, and large files. See how to choose a storage drive.
- Linux system drive: ext4, the stable journaled default (Btrfs is the snapshot/RAID alternative on Fedora and openSUSE).
- macOS drive: APFS on an SSD for copy-on-write safety and snapshots (HFS+ only on very old spinning Macs).
- USB shared between Windows and macOS, files over 4 GB: exFAT, native read/write on both with no add-on.
- USB for maximum compatibility, files under 4 GB: FAT32, readable by every console, camera, and TV.
Last Thoughts on File Systems
A file system is the invisible layer that turns raw storage into files you can name, find, and trust. The OS defaults exist for good reasons: NTFS, APFS, and ext4 add journaling (or copy-on-write), permissions, and encryption that a main drive needs, while FAT32 and exFAT trade those features for the universal compatibility a removable drive lives on. Match the format to the drive’s job and the operating systems that have to read it, and storage just works.
Key Takeaways:
- A file system is the structure and rules that decide how data is organized, named, and retrieved on a drive; without one a drive is just raw bytes.
- NTFS is the Windows default, APFS the macOS default, and ext4 the Linux default; each adds journaling (or copy-on-write), permissions, and encryption.
- FAT32 has a hard 4 GB per-file limit and no journaling; use it only for maximum cross-device compatibility with small files.
- exFAT has no practical file-size limit and works on Windows, macOS, and Linux; it is the modern pick for a USB drive holding files over 4 GB.
- Journaling logs changes before making them so a crash or power loss does not corrupt the drive; NTFS and ext4 journal, APFS uses copy-on-write, FAT32 and exFAT do neither.
- To pick a file system, match it to the operating systems that must read the drive, the largest file size, and whether crash safety matters.
Frequently Asked Questions (FAQs)
What is the best file system for a USB drive?
For files under 4GB requiring maximum compatibility (Windows, macOS, Linux, game consoles): use FAT32. For files over 4GB shared between Windows and macOS: use exFAT. For a USB drive used only with Linux: use ext4 for journaling and POSIX permissions.
What is NTFS and why does Windows use it?
NTFS is Windows’ default file system, supporting a 16TB maximum file size, journaling for crash recovery, ACL-based file permissions, and EFS encryption. Windows uses NTFS on system drives because FAT32 lacks permissions and journaling, which are required for a multi-user OS with security isolation.
What is journaling in a file system?
Journaling records intended changes to a log before writing them to disk. After a crash, the OS replays the journal to complete interrupted operations or roll them back, preventing file system corruption. ext4’s default ordered mode journals metadata only; full journal mode journals both data and metadata at lower performance.
Can macOS read NTFS drives?
macOS can read NTFS drives natively but cannot write to them without third-party drivers (Tuxera NTFS, Paragon NTFS for Mac, or Microsoft’s own driver bundled with OneDrive). macOS write support for NTFS requires a paid third-party solution or reformatting to exFAT for cross-platform read-write access.
What is the difference between ext4 and APFS?
ext4 is the Linux default file system using journaling, POSIX permissions, and extents. APFS is the macOS/iOS default using copy-on-write (no journal), volume snapshots, native encryption, and space sharing across volumes. APFS is optimized for SSDs; ext4 works well on both HDDs and SSDs.


