OpenZFS bitrot detection and scrub tools

Redundancy alone is not enough. A NAS with a mirror can still hand back the wrong bytes for years if no scheduled check reads every block, compares it to the checksum, and reports the mismatch. The XDA piece on silent data corruption is the reminder every home NAS operator eventually needs: a scrub setting was ignored, months passed, and files that looked healthy in the file browser were quietly rotting behind the scenes. These are the best apps for NAS bitrot detection on desktop in 2026, evaluated by how they schedule scrubs, report mismatches, and act on the results.

What to look for in a NAS bitrot detection app

A few things matter more than raw feature counts:

Quick comparison

App Best for Filesystem Scheduled scrub Auto-repair Cost
TrueNAS SCALE Full NAS OS with weekly ZFS scrubs ZFS Yes Yes Free
Unraid JBOD parity plus per-file corruption check XFS / Btrfs / ZFS Yes Parity restore From $59 lifetime
Synology DSM Data Scrubbing Prosumer NAS boxes with GUI scrubs Btrfs / ext4 Yes Yes on Btrfs Bundled with hardware
OpenZFS Standalone Linux / FreeBSD servers ZFS Via cron / systemd Yes Free
Btrfs scrub Lightweight Linux servers Btrfs Via cron / systemd Yes Free
SnapRAID JBOD arrays without a full filesystem swap Any Via cron Yes with sync Free
StableBit Scanner Windows Storage Spaces and DrivePool ReFS / NTFS Yes Reports for user action $29.95 one-time

The 7 best apps for NAS bitrot detection on desktop

1. TrueNAS SCALE, best for full NAS OS with weekly ZFS scrubs

TrueNAS SCALE ships with ZFS as its native filesystem and enables a weekly scrub on every pool by default. The scrub reads every allocated block, verifies the SHA-256 checksum, and repairs mismatches from the mirror or parity copy. The web UI lists scrub status per pool, recent scrub duration, and any repair events, and the built-in alert system emails on scrub errors, SMART failures, and pool degradation.

For a home operator who wants scrubs to just happen, SCALE is the shortest path.

Where it falls short: Only useful if the whole box runs SCALE. Migrating an existing Windows or Synology setup is a full data move. Weekly scrubs on a large pool can dominate disk I/O for hours.

Pricing:

Platforms: Linux (as full OS)

Download: truenas.com/download-truenas-scale

Bottom line: Install this if you are building a new NAS and want bitrot handling to be a default, not a project.

2. Unraid, best for JBOD parity plus per-file corruption check

Unraid runs parity across mixed-size disks and adds the File Integrity plugin for per-file MD5 checksums stored on each disk. A monthly parity check reads every block and reports mismatches; the File Integrity plugin lets a user re-verify individual files against their stored checksum and detect silent alterations that parity alone would not notice on a single-disk read.

Unraid’s schedule editor exposes parity check timing, correction mode, and email notification directly in the web UI.

Where it falls short: Parity checks are slower than ZFS scrubs at equivalent array size. The File Integrity plugin is community-maintained, not first-party. Correcting mode blindly rewrites parity from data, which can propagate a corrupt block if the data disk is the one that flipped.

Pricing:

Platforms: Linux (as full OS)

Download: unraid.net/download

Bottom line: Pick Unraid when the array is a pile of mismatched drives and a full ZFS pool is not the plan.

3. Synology DSM Data Scrubbing, best for prosumer NAS boxes with GUI scrubs

Synology DSM Data Scrubbing is the built-in scrub feature on SHR and Btrfs volumes running on Synology hardware. In DSM the option lives under Storage Manager and can be scheduled monthly, quarterly, or on demand. Btrfs volumes get true per-block checksum verification and auto-repair from RAID; ext4 volumes get a parity consistency check without file-level integrity.

Notifications land in DSM’s system log and can trigger email or push through the Notification Center.

Where it falls short: Only works on Synology hardware. Btrfs on Synology has historically lagged mainline Btrfs on features and speed. Scheduled scrubs are opt-in, and the default install runs no scrub at all.

Pricing:

Platforms: DSM (Synology Linux)

Download: synology.com/dsm

Bottom line: Turn this on the day the Synology arrives. Do not assume the box scrubs itself.

4. OpenZFS, best for standalone Linux and FreeBSD servers

OpenZFS is the reference ZFS implementation on Linux and FreeBSD. zpool scrub <pool> reads every allocated block against its SHA-256 or SHA-512 checksum and repairs mismatches from redundancy. A systemd timer or cron entry runs the scrub weekly or monthly, and zpool status reports scrub progress, last-completed date, and any checksum error counter growth.

Alerting comes from ZED (ZFS Event Daemon), which can email or execute a script on any error class.

Where it falls short: Command-line only; a NAS built around OpenZFS still needs SMB/NFS layered on top. Cache and RAM planning matters (rule of thumb: ~1 GB RAM per TB of pool). A misconfigured scrub schedule can hammer the pool at the wrong time of day.

Pricing:

Platforms: Linux, FreeBSD, macOS (via OpenZFS on OS X)

Download: openzfs.org/wiki/Getting_Started

Bottom line: The correct choice when the operator wants ZFS without buying a whole NAS distribution.

5. Btrfs scrub, best for lightweight Linux servers

Btrfs scrub reads every allocated extent, verifies the CRC32C checksum on data and metadata, and repairs mismatches from a mirror if the profile has one. A systemd timer or cron job (btrfs scrub start <mount>) handles the schedule, and btrfs scrub status shows a running summary of read errors, verify errors, and corrected extents.

Btrfs scrub is the lowest-overhead option on a small Linux home server that already runs Btrfs for other reasons (snapshots, send/receive backups, compression).

Where it falls short: RAID 5 and RAID 6 profiles have known write-hole issues and are not recommended for real data. Repair is only possible if a mirror exists; single-profile filesystems can detect but not fix a bit flip. Tooling and reporting are thinner than ZFS.

Pricing:

Platforms: Linux

Download: btrfs.readthedocs.io

Bottom line: Good for a Btrfs mirror on a small home server; keep parity duties elsewhere.

6. SnapRAID, best for JBOD arrays without a filesystem swap

SnapRAID sits on top of an existing filesystem (NTFS, ext4, XFS, Btrfs) and computes parity across disks on a schedule. A snapraid sync records the current state; a snapraid scrub re-reads a percentage of data each run, compares it to the stored hash, and reports silent errors. Because SnapRAID uses per-file parity rather than block-level RAID, a single failed disk does not take the whole array down, and file recovery is per-file.

The tool is command-line and works on any OS that runs a POSIX shell (or via ports on Windows).

Where it falls short: Not real-time. Between snap sync runs, new files have no parity and no scrub coverage. Scrub speed depends on the percentage set in the config and grows with array size. Adding a disk mid-life needs a resync.

Pricing:

Platforms: Windows, macOS, Linux

Download: snapraid.it/download

Bottom line: Fits a JBOD of static media (movie / photo archives) where daily changes are minimal.

7. StableBit Scanner, best for Windows Storage Spaces and DrivePool

StableBit Scanner is a Windows-first surface scanner that reads every sector on schedule, tracks SMART attributes, and flags unreadable sectors before they become read errors on production traffic. Paired with StableBit DrivePool, it can also mark disks for evacuation once error counts cross a threshold.

The interface is a compact desktop app plus a systray daemon, and email alerts run through the built-in notifications engine.

Where it falls short: Not a filesystem checksum tool; it detects surface errors, not silent bit flips inside a valid sector. Windows-only. The DrivePool integration is where the value compounds, so buying Scanner in isolation covers less of the problem.

Pricing:

Platforms: Windows

Download: stablebit.com/Scanner

Bottom line: The right pick for Windows users on Storage Spaces or DrivePool who cannot switch filesystems.

How to pick the right one

If a new NAS is going up from scratch, install TrueNAS SCALE and stop reading. Weekly ZFS scrubs with alerts are on by default; there is no better starting position for a home operator.

If the array is a pile of mismatched drives with data already on them, Unraid with the File Integrity plugin is the lowest-friction path to parity plus per-file verification.

If a Synology box is already in the rack, turn on Data Scrubbing in DSM today. Set the schedule, set the notifications, and stop assuming the box handles it.

If the server is a Linux box running its own SMB and NFS shares, OpenZFS for a real pool or Btrfs scrub for a small mirror are the correct calls. Use ZED for alerts and a systemd timer for the schedule.

If the array is a JBOD of media on any filesystem, SnapRAID adds parity and scrub coverage without a data migration.

On Windows Storage Spaces or DrivePool, StableBit Scanner is the practical surface-scan option; layer DrivePool for the actual redundancy.

FAQ

What is silent data corruption on a NAS? Silent data corruption is a bit flip on disk that no read error surfaces. The disk hands the OS the wrong bytes without complaining. Without a checksum on every block, the file browser and the SMB share pass the corrupted bytes through as if nothing happened, and the corruption may only be noticed years later when the file no longer opens.

How often should a NAS scrub run? Weekly for hot production data, monthly for large archival pools. Weekly ZFS scrubs on a home pool of 20 TB or less usually complete overnight. Monthly is the common Synology default and is a reasonable trade for larger pools.

Does RAID protect against bitrot? Only if the RAID layer computes and verifies checksums on every read and scrub. Traditional hardware RAID does not. ZFS and Btrfs do. That difference is why filesystem-native RAID (RAIDZ, Btrfs raid1) is safer than a hardware controller for silent corruption.

Can bitrot be fixed after it happens? If the array has redundancy and the filesystem has per-block checksums, the good copy is written back over the bad copy during scrub. Without redundancy or checksums, the file is gone; the backup is the fallback.

Is scrubbing hard on the drives? A scrub is a full sequential read across every allocated block. Modern spinning disks and NVMe SSDs are rated for far more read cycles than a weekly scrub will use. The wear cost is negligible; the temperature and noise cost during the run is real, which is why most operators schedule scrubs overnight.

Do I still need backups if my NAS scrubs? Yes. A scrub catches corruption inside the array; it does not protect against fire, theft, ransomware, or an accidental rm -rf. Follow the 3-2-1 rule regardless of scrub schedule.