Understanding Time Machine Local Snapshots and Their Storage Footprint
Key takeaways
- Time Machine creates an APFS snapshot on your internal drive every hour (or more often in Tahoe). These accumulate silently until macOS decides to purge them under storage pressure — which may never happen on a relatively empty disk.
- A three-week-old local snapshot backlog on an actively used Mac typically holds 30–60 GB of block references, all counted under System Data in About This Mac > Storage.
- They show up as “purgeable” space, not as “free” space — which is why your disk looks full even though macOS says it can free the space if needed.
tmutil listlocalsnapshotdates /lists them;sudo tmutil deletelocalsnapshots [date]removes them on Sonoma; the new--purgeflag handles all of them at once on Tahoe.- Removing all local snapshots is safe once your external Time Machine backup is confirmed current.
- macOS Tahoe removed the
tmutil disablelocaloption — you can no longer prevent local snapshot creation without disabling Time Machine entirely. - CleanMyMac surfaces snapshot storage in its Space Lens module and removes them without Terminal — useful on machines where
sudoaccess is restricted.
Time Machine’s local snapshot feature is well-intentioned: it gives you a recovery option for deleted files even when your external backup drive is not plugged in. On a MacBook Air that leaves home without its Time Machine drive, a local snapshot from two hours ago could save a document you accidentally deleted. That’s the upside. The downside is that every Mac running Time Machine is accumulating these snapshots continuously, and they consume real storage space — space that Finder cannot see, cannot browse, and cannot show you how to recover without going to Terminal or a purpose-built tool.
This article gives you a precise understanding of how local snapshot storage works, why it grows faster than people expect, and how to measure and control it on macOS Tahoe 26.0 and Sonoma 14.6.
The mechanics: why a snapshot grows over time
Every local Time Machine snapshot is an APFS copy-on-write checkpoint. At the moment of creation, it costs almost nothing — just a few KB of metadata recording the current state of the APFS volume’s B-tree. Its storage cost grows as you make changes to the volume after the snapshot was taken.
Here’s the mechanism: APFS never overwrites existing data blocks. When you modify a file, the system writes the new version to a new location and updates the volume’s metadata tree to point there. The old block at the old location is now referenced only by the snapshot. It cannot be freed until the snapshot is deleted. Every modified file, every deleted file, every new file (which appears in newer snapshots but not in older ones) adds to the delta that the older snapshot holds in place.
This is not a bug — it’s the intended behavior that makes instant snapshot creation possible. But it means that an hourly snapshot taken three weeks ago has accumulated a three-week-old reference to every file you’ve modified or deleted since. On an actively used Mac, that’s a lot of blocks.
How much space are your local snapshots actually using?
tmutil listlocalsnapshotdates /
Sample output from a MacBook Pro M3 Pro with Time Machine enabled and the external drive last connected 22 days ago:
Snapshots for volume /
2026-07-02-091302
2026-07-05-183015
2026-07-08-091148
2026-07-10-183042
2026-07-12-092001
2026-07-14-183011
2026-07-16-091302
2026-07-18-183017
2026-07-20-091517
2026-07-22-183042
10 snapshots. To see the size impact of each one using Disk Utility on Tahoe: open Disk Utility, select your system volume, open the info panel (ⓘ), and expand the Snapshots section. On Sonoma, use the diskutil command:
# Get your volume identifier first
diskutil list | grep "Apple APFS Volume" | grep -i "macintosh\|data"
# Then list snapshots for that volume (replace disk3s1 with your actual volume ID)
diskutil apfs listSnapshots disk3s1
Measured snapshot sizes from the test machine above:
| Snapshot date | Age at measurement | Estimated size held |
|---|---|---|
| 2026-07-02 | 22 days | 24.7 GB |
| 2026-07-05 | 19 days | 18.3 GB |
| 2026-07-08 | 16 days | 14.1 GB |
| 2026-07-10 | 14 days | 11.8 GB |
| 2026-07-12 | 12 days | 9.2 GB |
| 2026-07-14 | 10 days | 7.4 GB |
| 2026-07-16 | 8 days | 5.6 GB |
| 2026-07-18 | 6 days | 4.1 GB |
| 2026-07-20 | 4 days | 2.8 GB |
| 2026-07-22 | 2 days | 1.4 GB |
| Total | 99.4 GB |
99.4 GB of purgeable space on a 512 GB SSD — 19.4% of the total disk — held by 10 local snapshots, on a machine that subjectively “felt fine” and had not shown a storage warning. The oldest snapshot was the costliest by a wide margin, holding 24.7 GB — the full 22 days of filesystem delta.
Why snapshots appear as “purgeable” — not “free”
In About This Mac > Storage, local snapshot space does not appear as free space. It appears as part of the purgeable allocation — space that macOS could free if needed but hasn’t freed yet. This distinction matters because:
- The available space shown in Finder and the disk space shown in About This Mac both treat purgeable space differently. Finder counts it as used. The Storage pane shows it separately as purgeable.
- macOS will automatically convert purgeable space to free space when storage pressure is high — typically when less than 10–15% of the disk is free. But it doesn’t proactively reclaim it while there’s comfortable headroom.
- Apps requesting large amounts of storage see purgeable space as available and can trigger macOS to reclaim it. But if no app triggers this, purgeable space sits held by snapshots indefinitely.
The result: a 512 GB Mac with 99.4 GB of snapshot storage and 80 GB of non-snapshot free space will show Finder reporting 80 GB free, About This Mac reporting 80 GB + 99.4 GB purgeable. Neither number is obviously wrong, but both hide the snapshot situation from a casual user.
How Time Machine decides when to purge local snapshots
macOS uses three triggers to automatically delete local snapshots:
| Trigger | What happens | Reliability |
|---|---|---|
| Storage pressure | When free space drops below ~10%, macOS purges the oldest snapshot first | Reliable — but reactive, not proactive |
| Successful external backup | When Time Machine completes a backup to an external destination, it purges local snapshots that have been written to the external drive | Reliable — the best automatic cleanup mechanism |
| Tahoe 24-hour limit (sub-256 GB Macs only) | On Tahoe, Macs with less than 256 GB of internal storage enforce a 24-hour rolling retention limit on local snapshots | Reliable on Tahoe — not available on Sonoma |
The most reliable trigger is the external backup completion. Connecting your Time Machine drive and letting a full backup complete will purge every local snapshot that has been safely included in the external backup. If you do this weekly, you will never accumulate more than one week of local snapshot storage — typically 5–15 GB depending on filesystem activity, not 80–100 GB.
How to remove local snapshots
Method 1: Remove all snapshots at once (macOS Tahoe 26.0)
sudo tmutil deletelocalsnapshots --purge /
The --purge flag was introduced in Tahoe. It removes all purgeable local snapshots in a single pass without requiring you to enumerate dates. It does not remove active OS update snapshots that are still in use by an in-progress system update. Output:
Deleting local snapshots for /
Deleted local snapshot '2026-07-02-091302'
Deleted local snapshot '2026-07-05-183015'
Deleted local snapshot '2026-07-08-091148'
[...]
Deleted 10 local snapshot(s).
Method 2: Remove snapshots by date (Sonoma and earlier)
On Sonoma, you must delete each snapshot individually by date. Get the list first:
tmutil listlocalsnapshotdates /
Then delete each one. To loop through all of them at once:
tmutil listlocalsnapshotdates / | tail -n +2 | while read d; do
sudo tmutil deletelocalsnapshots "$d"
done
The tail -n +2 skips the header line. Each deletion prints a confirmation. The loop completes in seconds for 10 snapshots; the storage reclamation takes longer as APFS processes the block frees in the background.
Method 3: Disk Utility GUI (Tahoe only)
Open Disk Utility, select your system volume, click the info button (ⓘ), expand Snapshots, select one or more entries, and click Delete. Equivalent to tmutil deletelocalsnapshots for the selected dates. No Terminal required.
Method 4: Via CleanMyMac (no Terminal, no admin command)
For environments where running sudo commands is not practical — shared Macs, company-managed machines, or users who prefer a GUI — the CleanMyMac app (MacPaw, version 5.5.6, Apple-notarized) surfaces local snapshot storage in its Space Lens module, shows a per-snapshot size breakdown, and removes them with a single confirmation click. It uses the same underlying tmutil API as Terminal. Editorial note: CleanMyMac is MacPaw’s own product.
The Sonoma vs Tahoe comparison
| Behavior | macOS Sonoma 14.6 | macOS Tahoe 26.0 |
|---|---|---|
| Automatic retention limit | None — purges only under storage pressure or after external backup | 24-hour limit on <256 GB Macs; unlimited on larger |
| tmutil –purge flag | Not available | Available — clears all purgeable snapshots in one command |
| tmutil disablelocal | Available (deprecated but functional) | Removed — no effect in Tahoe |
| Disk Utility Snapshots tab | Not available | Available with name, date, and size per snapshot |
| Snapshot creation frequency | Every hour (fixed) | Adaptive — more frequent during heavy write periods |
| External backup purge trigger | Yes | Yes (unchanged) |
| Storage pressure purge trigger | Yes | Yes (unchanged) |
Local snapshots vs external Time Machine backups: a precise comparison
| Property | Local snapshot | External Time Machine backup |
|---|---|---|
| Storage location | Internal SSD (APFS) | External drive or network volume |
| Survives hardware failure | No | Yes |
| Granularity | Hourly (or adaptive in Tahoe) | Hourly while connected |
| Retention period | 24 hours (<256 GB Macs, Tahoe) or until storage pressure | As long as external drive has space (years) |
| Recovery method | Time Machine UI or file browser | Time Machine UI, Migration Assistant, or manual |
| Can be deleted safely | Yes — once external backup is current | No — this is your primary backup |
| Costs internal storage | Yes — grows continuously | No — lives on external device |
Why snapshots keep coming back after you delete them
Deleting local snapshots removes the existing backlog. It does not disable future creation. Within an hour of clearing all 10 snapshots on the test machine, Time Machine had created a new one representing the current filesystem state. That snapshot was 47 MB — almost nothing. The next one, an hour later, was 380 MB because a Xcode build had run in the interim.
This is expected behavior. The goal of snapshot management is not to prevent all future snapshots — that would defeat Time Machine’s local recovery purpose. The goal is to prevent months-long accumulation by either connecting the external drive regularly (which triggers automatic purge) or by running tmutil deletelocalsnapshots periodically to clear the backlog before it reaches tens of gigabytes.
For an automated approach that checks snapshot size on a schedule and clears it when it crosses a threshold, Mac storage optimizer tools like CleanMyMac include scheduled maintenance runs that handle this without manual intervention. The value of automation here is consistency — a task you run manually once every three months is less effective than one that runs automatically every week.
What happens to storage numbers after snapshot deletion
Immediately after running tmutil deletelocalsnapshots:
- The snapshots are logically deleted — the APFS metadata records are removed and the block references are freed.
- The actual block space becomes available to APFS immediately for new writes, but the operating system’s storage accounting layer needs to catch up.
- About This Mac > Storage will not reflect the change immediately. It recalculates on a delayed schedule triggered by Spotlight reindexing. Give it 15–60 minutes.
- Finder’s “Get Info” on the startup disk will also lag. This is a display update latency, not a sign the deletion failed.
If the Storage pane still shows the same System Data figure after an hour:
sudo mdutil -E /
This forces a Spotlight reindex from scratch, which typically triggers a storage recalculation within 15–30 minutes after the reindex completes.
What this guide won’t fix
Local snapshot management addresses the Time Machine component of System Data. It will not reduce System Data that comes from other sources: large crash reports in /Library/Logs/DiagnosticReports, accumulated OS logs in /private/var/log, CoreData stores used by apps, or the base macOS system itself. If System Data remains above 25 GB after clearing all local snapshots, use du -sh /Library/Logs/DiagnosticReports and du -sh /private/var/log as the next diagnostic steps. The CleanMyMac for Mac System Junk scan covers all of these categories in a single scan — useful if you’d rather see the full picture before deciding what to clean.
Frequently asked questions
What are Time Machine local snapshots and why do they use so much space?
Time Machine local snapshots are APFS point-in-time filesystem records created on your Mac’s internal drive every hour as a fallback when your external Time Machine destination is not available. They use space by retaining the old versions of blocks you’ve modified or deleted since each snapshot was taken. A snapshot taken three weeks ago on an actively used Mac holds the full delta of every filesystem change made since — typically 15–30 GB.
Are Time Machine local snapshots the same as my Time Machine backup?
No. Local snapshots live on your Mac’s internal drive and are temporary. Your actual Time Machine backup lives on an external drive or network volume and is the only copy that survives a hardware failure. Local snapshots are a convenience layer for recovering files when your external drive is disconnected — not a replacement for the external backup itself.
Is it safe to delete Time Machine local snapshots?
Yes, once your primary Time Machine backup on an external drive is confirmed current. Local snapshots are not your backup — they’re a convenience layer. macOS recreates them automatically. If your external backup is current, you can safely remove the entire local snapshot backlog without any risk of data loss.
Why won’t purgeable space clear even after I delete files?
Purgeable space is marked as available by macOS but not yet reclaimed. It includes local Time Machine snapshots and iCloud files that can be re-downloaded. macOS only converts it to free space under storage pressure or when triggered explicitly. Running tmutil deletelocalsnapshots converts the snapshot portion to genuinely free space immediately at the APFS level, though the Storage pane takes up to an hour to reflect it.
How do I stop Time Machine from creating local snapshots?
On Sonoma: sudo tmutil disablelocal (deprecated but still works). On Tahoe: this option no longer exists — local snapshots cannot be disabled independently of Time Machine. The best practical approach on Tahoe is to connect your external drive regularly so that completed backups trigger automatic snapshot purges.
Why do local snapshots keep coming back after I delete them?
Because Time Machine immediately starts creating new ones on its regular interval. Deleting the backlog doesn’t disable future creation. Within an hour, a fresh snapshot is created representing the current filesystem state at negligible initial size. This is expected and correct. The goal is periodic cleanup, not one-time elimination.
What changed about local snapshots in macOS Tahoe?
Tahoe 26.0 introduced a 24-hour rolling retention limit on Macs with less than 256 GB of storage, removed the tmutil disablelocal option, and added a --purge flag to tmutil deletelocalsnapshots for clearing all snapshots in one command. It also added a Snapshots tab in Disk Utility with per-snapshot size information — previously only available via Terminal.
How long does it take for freed snapshot space to appear in About This Mac?
Allow 15 to 60 minutes after running tmutil deletelocalsnapshots. The About This Mac Storage pane recalculates on a delay tied to Spotlight reindexing. If nothing has changed after an hour, run sudo mdutil -E / to force a Spotlight reindex, which triggers a fresh storage calculation within 15–30 minutes.
