Btrfs vs ZFS
Btrfs and ZFS are both copy-on-write filesystems with checksums, snapshots, and built-in volume management. ZFS is more mature and the safer choice for multi-disk NAS pools. Btrfs lives in the Linux kernel, needs less RAM, and shines for single disks and mirrors, but its built-in RAID 5/6 is still unsafe. For most NAS builds the answer is ZFS, with a real role for Btrfs in specific spots.
Updated 2026-06-03 · by Jonathan Caruso
Side by side
| Btrfs | ZFS | |
|---|---|---|
| In the Linux kernel | Yes (mainline) | No (OpenZFS module, CDDL) |
| License | GPL | CDDL |
| Checksums + copy-on-write | Yes | Yes |
| Snapshots | Yes | Yes |
| RAID 5/6 equivalent | Built-in, but unsafe (write hole) | RAIDZ, solid |
| RAID 0/1/10 | Stable | Stable |
| RAM appetite | Lower | Higher (ARC cache) |
| Maturity at scale | Good for single/mirror | Very high |
| Common defaults | Fedora, openSUSE, Synology | TrueNAS, Proxmox option |
Two copy-on-write filesystems, different maturity
Both filesystems go well beyond storing bytes. They checksum every block to catch silent corruption, support instant snapshots, and manage their own volumes so you do not stack a separate RAID layer underneath. If you have only ever used ext4 or NTFS, either one is a real upgrade in data integrity.
The difference is track record at scale. ZFS came out of Sun, has been hammered in production for over a decade, and is the default for serious NAS builds. Btrfs is solid for single disks and mirrors and is the default root filesystem on Fedora and openSUSE, but its multi-disk parity story has never fully stabilized.
The RAID 5/6 question decides a lot
This is the heart of the comparison for a NAS. ZFS RAIDZ (its RAID 5/6 equivalent) is mature and trusted, and it closes the classic parity write hole by design. You can build a large RAIDZ2 pool and sleep at night.
Btrfs has built-in raid5 and raid6 modes, but they carry a known write hole and have a long-standing reputation for losing data after a failure. The Btrfs project itself flags them as unstable. The safe way to run Btrfs across several disks is raid1 or raid10, or to put Btrfs on top of traditional mdraid, which is exactly what Synology does. If you want striped parity, that is a point for ZFS.
RAM, kernel, and licensing
ZFS likes RAM. Its ARC cache uses free memory aggressively, which makes pools fast but means you want more RAM than a Btrfs box needs. ECC is recommended for either, and genuinely complements ZFS, though neither requires it.
Btrfs is in the mainline Linux kernel, so it is there on any modern distro with no extra modules. ZFS ships under the CDDL license, which is incompatible with the GPL, so it lives as an out-of-tree OpenZFS module. In practice OpenZFS is well packaged on TrueNAS, Proxmox, and most distros, but it is one more component that tracks kernel updates.
Is Btrfs deprecated? Not really
You will see claims that Btrfs is dead. The confusion comes from Red Hat, which deprecated and removed Btrfs support in RHEL years ago. That is a Red Hat decision, not the state of the filesystem. Btrfs is actively developed and is the default root filesystem on Fedora Workstation, openSUSE, and others, and it underpins Synology's storage.
What you should avoid is Btrfs raid5/6, not Btrfs itself. For a single disk, a laptop, or a mirror with snapshots, Btrfs is a great, kernel-native choice.
What to run
For a multi-disk NAS with parity, run ZFS. RAIDZ2 gives you checksummed, snapshot-capable storage that scales and recovers safely, which is why TrueNAS is built on it. Plan your pool first, ideally with ECC RAM.
Reach for Btrfs when you want kernel-native snapshots on a single disk or a mirror, on a laptop or a root filesystem, or when you are on a Synology where it sits safely on top of mdraid. If you are picking a NAS OS to wrap around the filesystem, see TrueNAS vs Unraid, and run your layout through the RAID and ZFS storage calculator before you buy disks.
Where Btrfs wins
- Built into the mainline Linux kernel, no extra modules.
- Lighter on RAM, good for single disks, mirrors, and root filesystems.
- Kernel-native snapshots, and it is the default on Fedora, openSUSE, and Synology.
Where ZFS wins
- RAIDZ parity is mature and safe, with no write hole.
- Best-tested integrity and reliability for large multi-disk pools.
- First-class snapshots and replication, and the foundation of TrueNAS.
Which to pick, by situation
| Your situation | Pick | Why |
|---|---|---|
| Multi-disk NAS with parity | ZFS | RAIDZ is mature and safe; Btrfs raid5/6 is not. |
| Single disk or laptop with snapshots | Btrfs | Kernel-native, lighter, and stable for single/mirror. |
| Maximum reliability for a large pool | ZFS | Best track record and integrity at scale. |
| You want it built into the kernel, no modules | Btrfs | Mainline in Linux; ZFS is an out-of-tree CDDL module. |
The verdict
For a NAS or any multi-disk pool where integrity matters, run ZFS. RAIDZ is the safe, proven way to get checksummed, snapshot-capable parity storage, which is why TrueNAS is built on it. Use Btrfs where it is strongest: single disks, mirrors, laptops, and Linux root filesystems that want kernel-native snapshots, or on a Synology where it sits on mdraid. Just avoid Btrfs raid5/6. If you are choosing the OS around it, see TrueNAS vs Unraid.
Choose Btrfs if you want a kernel-native filesystem for a single disk, a mirror, or a root filesystem with snapshots, and you do not need striped parity.
Choose ZFS if you are building a multi-disk NAS pool and want mature, safe parity, strong integrity, and snapshots that scale.
Official links
Btrfs
OpenZFS
FAQ
Is ZFS better than Btrfs?
For a multi-disk NAS with parity, yes, because RAIDZ is mature and safe while Btrfs raid5/6 is not. For a single disk, a mirror, or a Linux root filesystem, Btrfs is an excellent, lighter, kernel-native choice. They aim at overlapping but different jobs.
Is Btrfs deprecated?
No. Red Hat removed Btrfs from RHEL, which fuels the rumor, but Btrfs is actively developed and is the default root filesystem on Fedora and openSUSE and the basis of Synology storage. Only its raid5/6 modes should be avoided, not the filesystem itself.
What are the disadvantages of ZFS?
It wants more RAM, it is not in the mainline kernel (it ships as an out-of-tree CDDL module), ECC is recommended, and historically it was rigid about expanding a vdev, though RAIDZ expansion now helps. None of these stop it from being the default for serious NAS builds.
Does ZFS destroy SSDs?
No. ZFS does write more than a simpler filesystem because of copy-on-write and metadata, which adds some wear, but modern SSDs handle it fine. You can reduce writes by disabling atime and tuning recordsize. For a normal homelab SSD, this is not a real concern.