Purgeable space, snapshots & Trash

APFS Local Snapshots Are Eating Your Disk: How to Find and Delete Them (2026)

If your Mac's "System Data" bar in Storage settings is stubbornly large even after clearing caches and logs, APFS local snapshots are almost certainly the culprit — and they're invisible to Finder. This guide shows you exactly how to find which snapshots are consuming space, which ones are safe to delete, and the precise Terminal commands to remove them without disrupting Time Machine or macOS update recovery.

What Are APFS Local Snapshots?

Apple File System (APFS), introduced in macOS High Sierra, includes a built-in snapshot mechanism. A snapshot is a frozen, point-in-time read-only copy of a volume's state. Rather than duplicating data immediately, APFS snapshots use copy-on-write: the snapshot only stores data that has changed since the snapshot was taken. The longer a snapshot ages, the more divergence accumulates, and the more real storage it locks up.

On a typical Mac running macOS Ventura through Sequoia (and beyond), you will find two categories of local snapshots:

  • Time Machine local snapshots — created hourly (or on a schedule you set) and stored on the startup volume when your external Time Machine drive is not connected. These have names like com.apple.TimeMachine.2025-12-14-083200.
  • macOS update snapshots — created automatically before a software update installs, so macOS can roll back if something goes wrong. Their names begin with com.apple.os.update- followed by a long hash.

Both types are healthy to have in small numbers. The problem is that macOS does not always aggressively expire them, and after a few major updates or weeks of working offline, tens of gigabytes can accumulate silently.

Why APFS Snapshots Show Up as "System Data"

When you open Apple menu > System Settings > General > Storage, macOS tallies snapshot space under the "System Data" category rather than exposing it as a separate line item. This makes APFS local snapshots eating disk space particularly confusing — you can delete caches, empty the Trash, and offload apps, yet System Data refuses to shrink.

The storage bar shows available space, not raw free space. APFS reports purgeable space separately: the OS can reclaim snapshot storage under memory or I/O pressure, but it may not do so promptly. In practice, many users see their free space locked until they delete snapshots manually.

How to List Your APFS Local Snapshots

Open Terminal (found in /Applications/Utilities/) and run:

tmutil listlocalsnapshots /

On macOS Sonoma and later the output covers the entire volume group, so you do not need to separately query /System/Volumes/Data. You will see output like:

Snapshots for volume group containing disk /:
com.apple.TimeMachine.2025-12-10-112034.local
com.apple.TimeMachine.2025-12-11-100145.local
com.apple.os.update-8580EF41777A373CFDD2481F6D7C5DABE2C62A48B3932ED8B08C...

To see the dates in a cleaner list:

tmutil listlocalsnapshotdates /

For a lower-level view showing each snapshot's UUID and whether it is marked purgeable, use diskutil. First identify your APFS container disk (usually disk3s1 or disk1s1 — check with diskutil list), then:

diskutil apfs listSnapshots disk3s1

The Purgeable: Yes flag means macOS has already marked that snapshot for eventual removal but has not freed the space yet.

How to Measure Snapshot Space Usage

Unfortunately, tmutil does not report snapshot sizes directly. There are two practical approaches:

  1. Before/after comparison. Note the free space shown by df -h /, delete a snapshot (see below), then run df -h / again. The delta is the space that snapshot was holding.
  2. Purgeable space total. Run diskutil info / and look at the "Container Free Space" value. Then compare it against what Finder (or df) reports as available. The gap represents purgeable space — much of it typically held by snapshots.

How to Delete APFS Local Snapshots Safely

This is a permanent operation. Deleted snapshots cannot be recovered. Read the safety notes below before proceeding.

Delete a Single Time Machine Snapshot

  1. Copy the snapshot name from tmutil listlocalsnapshots /.
  2. Delete it by date string (the part after com.apple.TimeMachine. and before .local):
tmutil deletelocalsnapshots 2025-12-10-112034

Note: on macOS Ventura and later the command accepts either the date string or the full snapshot name. On older releases it requires the date string only.

Delete All Time Machine Local Snapshots at Once

To clear every local Time Machine snapshot in one pass:

tmutil deletelocalsnapshots /

macOS 13 Ventura and later accept this path argument. On Monterey, you may need to loop:

for snap in $(tmutil listlocalsnapshotdates / | grep -v "^Snapshot"); do
  tmutil deletelocalsnapshots "$snap"
done

Delete a macOS Update Snapshot

Update snapshots have names like com.apple.os.update-<HASH>. To remove one:

sudo tmutil deletelocalsnapshots com.apple.os.update-8580EF41777A373CFDD2481F6D7C5DABE2C62A48B3932EF124CDE166CC64CFD9

You need sudo for update snapshots because they are owned by the system. Alternatively, use diskutil apfs deleteSnapshot with the snapshot's UUID (visible in diskutil apfs listSnapshots output):

sudo diskutil apfs deleteSnapshot disk3s1 -uuid EAEC5B75-2C50-4D0C-855E-B3DE25F5A2A0

What Is Safe to Delete — and What Is Not

Snapshot type Safe to delete? What you lose
Time Machine local snapshots (older than 24 hours) Yes, generally safe Ability to restore files from those specific local checkpoints. External TM backups are unaffected.
Time Machine local snapshots (last 1-2) Safe, but reconsider if you rely on local TM Your only recent local recovery point until the next TM backup completes.
macOS update snapshots (com.apple.os.update-) Safe after the update has been running stably for a few days The ability to use macOS's built-in update rollback if a problem is discovered later. You cannot manually trigger a rollback after deletion.
Any snapshot while actively migrating data Wait until done Potential data integrity issues if the migration relies on the snapshot.

Key rule: if you have a working external Time Machine backup, deleting local snapshots carries minimal risk. If you have no external backup, local snapshots may be your only safety net — consider making a backup first.

Will Deleting Snapshots Break Time Machine?

No. Deleting local snapshots does not affect Time Machine's schedule, its ability to create new local snapshots, or any backups stored on an external drive or network volume. Time Machine will resume creating fresh local snapshots the next time it runs. The only permanent loss is the historical data stored in the deleted snapshot itself.

The One-Click Alternative

If the Terminal steps above feel tedious or you want a safety check before deleting, Crumb automatically detects snapshot bloat during its standard Clean scan and surfaces it alongside cache and log cleanup. Clicking Clean in Crumb handles the tmutil deletelocalsnapshots step for you, with a plain-English breakdown of what will be removed and how much space will be recovered. For anything you are uncertain about, Crumb's built-in "Is this safe to delete?" feature explains what a given item does and what the removal risk is — useful when staring at a cryptic hash-named snapshot. You can download Crumb and run one free cleanup to see what it finds.

After Deleting: Verify the Space Is Freed

APFS sometimes takes a moment to reconcile purgeable space after snapshot deletion. If df -h / does not immediately reflect the expected gain, run:

diskutil info /

Check "Container Free Space" — this is the true available figure. If it matches your expectation but Finder still shows a smaller number, give macOS a minute or two. A reboot also forces the kernel to reconcile reported free space with the container's actual state.

Preventing Snapshot Bloat in the Future

  • Connect your Time Machine drive regularly. When an external backup succeeds, macOS becomes more aggressive about expiring local snapshots because the offsite copy exists.
  • Monitor after major updates. macOS update snapshots are largest immediately after a big update. Check with tmutil listlocalsnapshots / a week after an update and remove the update snapshot if the system is stable.
  • Check Storage periodically. If System Data in Storage settings grows beyond 20–30 GB without explanation, snapshot accumulation is the most common cause on APFS volumes.

Conclusion

APFS local snapshots are a genuine feature — they power instant Time Machine restores and safe macOS updates — but they silently consume real disk space that macOS reports ambiguously as "System Data." The tmutil listlocalsnapshots and tmutil deletelocalsnapshots commands give you full control. Delete old Time Machine snapshots freely if you have an external backup; delete update snapshots once the new macOS version is running stably. The terminal workflow is straightforward, but if you prefer a visual overview with a safety net, Crumb surfaces and clears snapshot bloat in the same one-click scan that handles caches and logs.

Reclaim your disk in one click

Crumb audits your whole Mac, tells you what's safe to delete, and frees the space in seconds — private, local, and Apple-notarized.

Download Crumb for macOS

Frequently asked questions

Why does deleting files not free up space on my Mac?
APFS local snapshots are the most common hidden reason. When a file is deleted, if it was part of an active snapshot, APFS cannot actually reclaim the underlying blocks until that snapshot is removed. Use 'tmutil listlocalsnapshots /' in Terminal to check whether snapshots are holding space, then delete them with 'tmutil deletelocalsnapshots'.
Is it safe to delete all APFS local snapshots?
Deleting all Time Machine local snapshots is safe if you have an external or network Time Machine backup — your external backup is completely unaffected. For macOS update snapshots (names starting with 'com.apple.os.update-'), wait until the update has been running stably for a few days before removing them, since they enable rollback if a critical bug is discovered.
How do I delete APFS snapshots without Terminal?
Crumb's one-click Clean scan detects and removes local snapshot bloat alongside caches and logs, without requiring any Terminal commands. It also shows you exactly what will be deleted and how much space will be recovered before anything is removed.
Why does 'tmutil deletelocalsnapshots' require sudo for some snapshots?
Time Machine local snapshots (com.apple.TimeMachine.*) are owned by your user and do not require sudo. macOS update snapshots (com.apple.os.update-*) are system-owned and require administrator authorization via sudo, or you can delete them by UUID using 'sudo diskutil apfs deleteSnapshot'.