Mac maintenance
Time Machine Using Too Much Space on Your Mac? Here's Why
If Time Machine is eating your Mac's storage, the cause is usually local snapshots — not the backup drive. Here's how to free that space safely.
You opened System Settings → General → Storage and Time Machine has eaten 80 GB of your boot drive. The backup drive is plugged in. You’ve made one or two video projects. None of this adds up.
The culprit is almost always local APFS snapshots. They’re a useful feature most people don’t know exists — until the day they fill up the SSD.
What “Time Machine” means in your storage breakdown
Apple labels the local snapshot space as “Time Machine” in Storage settings, which is misleading. The space isn’t your backups — those live on the external drive. It’s a set of automatic, on-disk APFS snapshots Time Machine takes hourly so you can rewind to a recent state without the backup drive being connected.
Mac keeps these around for 24 hours by default. If your backup destination’s been disconnected for a week, that buffer can stretch to a week’s worth of snapshots. On a Mac that handles big files daily — video editing, photo work, large code repos — that adds up to tens of gigabytes fast.
To see the snapshots:
tmutil listlocalsnapshots /
Each line is one snapshot, named by timestamp. If you see 50+, that’s why your storage is “full.”
How to free the space
The blunt approach:
tmutil thinlocalsnapshots / 50000000000 4
That asks for 50 GB of free space with priority level 4 (most aggressive). The number is in bytes. Bump it higher if you need more — say 200000000000 for 200 GB.
To delete a specific snapshot:
tmutil deletelocalsnapshots 2026-04-28-093000
Use the timestamp from listlocalsnapshots. The command runs in seconds.
To wipe all of them:
for d in $(tmutil listlocalsnapshots / | awk -F. '{print $4}'); do
tmutil deletelocalsnapshots $d
done
That iterates every snapshot and deletes it. Use this when you really need the space and don’t care about the recent rewind safety net.
Why snapshots grow so much on some Macs
Snapshots are copy-on-write. They don’t take any space at the moment they’re taken — they only grow as the underlying files change. The biggest growth happens when you:
- Delete or move large files
- Rebuild a Photos library
- Re-encode a big video
- Run a major macOS update
- Pull a 10 GB Docker image (then delete it)
- Empty the Trash on a video project
After any of those, the deleted blocks aren’t actually freed — the snapshots are holding references to them. Until the snapshots roll off, you don’t see the space back.
That’s why df -h and Storage settings sometimes disagree. df shows free space; Storage settings show what’s “purgeable” (space the OS can reclaim if needed).
When the destination’s been gone too long
If you unplug your Time Machine drive for weeks or months, snapshots accumulate without rolling off. The system keeps creating them hourly because Time Machine is enabled, and there’s no destination to flush them to.
Two fixes:
- Reconnect the destination. Once the next backup completes successfully, snapshots roll off normally and you reclaim space.
- Disable Time Machine temporarily.
System Settings → General → Time Machine, click (i), then disable. New snapshots stop being created. Existing ones still need to be cleared withthinlocalsnapshots.
Don’t disable Time Machine permanently to “save space” without setting up an alternative. The snapshot system is a useful safety net for accidental deletions even when your backup drive isn’t around.
The hidden growth: dev tools and VM images
Snapshots are sensitive to what changes between hourly captures. A Mac that mostly idles will see tiny snapshot growth. A Mac running these will see large growth:
- Docker — pulling images, building containers, running databases
- Xcode — DerivedData, archives, and simulator state
- Virtual machines — Parallels, VMware, UTM
- Big video projects — render caches and encoded outputs
- Database work — local Postgres or MySQL data files
Every change to those files increases the snapshot’s actual disk footprint. Over a week of intensive work, snapshots can balloon to 100+ GB.
The right fix is excluding those folders from Time Machine, which also stops them from anchoring snapshot space:
sudo tmutil addexclusion -p ~/Library/Containers/com.docker.docker
sudo tmutil addexclusion -p ~/Library/Developer/Xcode/DerivedData
sudo tmutil addexclusion -p ~/Library/Developer/CoreSimulator
sudo tmutil addexclusion -p ~/Parallels
After adding exclusions, run thinlocalsnapshots to clear the existing snapshot bloat. New snapshots will start from a smaller baseline.
Checking actual disk usage
The numbers in Storage settings are aspirational. To see real usage:
df -h /
That gives you the truth about free space on the boot drive. To see how much of the “used” space is purgeable (snapshots and other reclaimable):
diskutil info / | grep "Free Space"
You’ll see two numbers — one with purgeable space included, one without. If they’re 50 GB apart, that’s how much snapshots and macOS-managed cache are eating.
For a granular view of what’s eating space outside snapshots:
sudo du -sh /System/Volumes/Data/* 2>/dev/null | sort -h
Or for your home folder:
du -sh ~/* 2>/dev/null | sort -h
That reveals the actual files. Snapshots are managed by tmutil; everything else is managed by you.
When snapshots cause real problems
Beyond eating storage, runaway snapshots cause:
- Slow Time Machine backups (the backup engine has to reconcile every snapshot before copying)
- Failed macOS updates (some updates require certain free space; the OS can’t always thin snapshots fast enough)
- Slow Spotlight indexing (snapshots get indexed too)
- “Disk full” warnings on a drive that should have plenty of room
If you see “Your startup disk is almost full” but your actual files only add up to 60% of the SSD, snapshots are almost certainly the gap.
The piece Time Machine doesn’t help with
Local snapshots are one source of disk bloat. There’s a much bigger one Time Machine doesn’t manage at all: the regular cruft your Mac generates that never auto-cleans.
A typical Mac after a year of use carries 20–60 GB of:
- Cached web data that’s regenerated every browser session
- Old
.pkgand.dmginstallers in Downloads - Crash reports and diagnostic dumps
- Application leftovers after drag-to-Trash uninstalls
- Localizations for unused languages
- Old Mail attachments and downloads
- iOS device backups for phones you don’t own anymore
Time Machine doesn’t manage any of it. It backs them up dutifully, snapshots reference them, and they sit on your SSD growing month over month.
This is the role Sweep fills. It scans for those categories specifically, shows you what’s there before deleting anything, and clears them in one pass. It doesn’t replace Time Machine’s version history — it removes the noise that the version history shouldn’t be tracking in the first place.
A maintenance schedule that works
Don’t manually thin snapshots constantly. Let Time Machine do its job. But on a Mac that fills up regularly:
- Monthly: run
tmutil thinlocalsnapshots / 50000000000 4if Storage settings shows >30 GB under Time Machine - Quarterly: review your exclusion list with
du -sh ~/Library/* 2>/dev/null | sort -h - After big projects: thin snapshots manually after rendering a video, building a large Xcode archive, or finishing a Docker-heavy work session
- After macOS updates: snapshots before/after the update can be huge; clear them once the update is stable
Storage settings is a useful warning system. When you see Time Machine over 50 GB, treat it as a flag to investigate, not a number to ignore.
When to dig deeper
If you’ve thinned snapshots, excluded the right folders, and Storage still shows Time Machine eating tens of gigabytes, something’s off. Check:
sudo tmutil status
If it shows Running = 1 but no progress for hours, kill the backup, eject the destination, and start fresh. A stuck backup can leave a permanent snapshot in place that doesn’t roll off.
Also check Spotlight indexing — mdworker going wild on the Time Machine drive can make snapshots seem to grow when they’re not really growing. Wait for indexing to finish before measuring.
The system isn’t supposed to fight you about disk space. If it does, the cause is usually one of three things: snapshots that didn’t roll off, a backup that didn’t complete, or accumulated cruft Time Machine has been ignoring for months. Now you know which lever to pull for each.