September 2, 20265 min read
How to Free Up Space on Your Mac (and Actually Keep It Free)
The highest-yield ways to free up space on a Mac, ordered from safe to advanced — with exact folders, terminal commands, and the warnings most guides skip.
GuidesStorage
Deleting a few files won't rescue a full Mac disk, because the biggest recoverable chunks usually aren't files you created. On a typical Mac, tens of gigabytes hide in developer caches, old iOS backups, package manager downloads, and Time Machine local snapshots — none of which show up in Finder.
The fastest path: empty the Trash, then clear Xcode's DerivedData and Homebrew's download cache if you develop, prune stale Time Machine snapshots, and remove old iPhone backups. Those four moves alone usually reclaim 20–60 GB. Everything below explains each step, what's safe to delete, and what you should never touch.
Why your disk fills up faster than you think
Three macOS behaviors quietly consume space:
- Caches that never prune themselves. Xcode keeps every build's intermediate files forever; Homebrew keeps every version of every formula it has ever downloaded.
- Local snapshots. APFS keeps hourly Time Machine snapshots on the internal disk so backups can catch up later. They're supposed to expire in 24 hours, but they linger when the disk stays busy.
- Purgeable-but-present media. Optimized Photos and Mail attachments count as "purgeable" — macOS reclaims them only when it decides it needs room, not when you do.
We've covered the System Data category in detail in why your Mac's storage graph lies — it's the bucket where most of this hides.
First, see what's actually using the space
SAFE: System Settings → General → Storage gives you category totals and four built-in recommendations (Store in iCloud, Optimize Storage, Empty Trash Automatically, Reduce Clutter). Start there.
For folder-level truth, Terminal is faster and more honest:
df -h / # free space on the system volume
du -sh ~/* 2>/dev/null | sort -h # biggest folders in your home dir
du -sh ~/Library/* 2>/dev/null | sort -h # biggest folders in ~/Library
df reports the filesystem; du -sh ranks folders by total size. Run
them top to bottom and the space hogs name themselves.
Fix 1: the empty Trash you think you already emptied
SAFE TO REMOVE. Check it — macOS keeps files in the Trash for 30
days by default. Also delete iOS app archives and disk images from the
Downloads folder; a single .dmg you already installed can be 1–5 GB.
Fix 2: developer caches (the biggest win for most pros)
SAFE TO REMOVE. If you've ever built an app or used Homebrew:
# Xcode build artifacts — safe, rebuilt on next compile
rm -rf ~/Library/Developer/Xcode/DerivedData/*
# Old simulator devices tied to runtimes you no longer have
xcrun simctl delete unavailable
# Homebrew's download cache and stale versions
brew cleanup -s
DerivedData holds compiled indexes and build products; deleting it just
makes the next build slower once. brew cleanup -s scrubs cached
downloads under ~/Library/Caches/Homebrew. We break down all the
hidden caches worth clearing —
including npm, Gradle and Docker — in a separate guide.
Fix 3: prune stale local snapshots
POTENTIALLY SAFE. Snapshots enable Time Machine recovery between backup drives; prune only the stale ones:
tmutil listlocalsnapshots / # list them
sudo tmutil deletelocalsnapshots <date> # delete a specific one
Never delete a snapshot from a day you might need to restore.
Fix 4: remove old iPhone and iPad backups
POTENTIALLY SAFE. Each backup can run 5–20 GB and macOS keeps them
forever. In Finder, connect the device → General → Manage Backups and
delete ones you don't need, or go directly to
~/Library/Application Support/MobileSync/Backup/ and check folder sizes
first.
Fix 5: let macOS do the routine work
SAFE. In Storage settings, enable Empty Trash Automatically (30 days) and review Reduce Clutter. If you use iCloud Photos, Optimize Mac Storage keeps full-resolution originals in the cloud and placeholders on disk — effective, but it trades disk space for network dependence.
What you should NOT delete
- Anything in
/Systemor the sealed system volume. It's read-only on modern macOS for a reason. /private/var/vm— swap and sleep image files; macOS manages them.- Any
~/Libraryfolder you can't name. If you can't say what an application support folder belongs to, leave it alone. - System Data you can't explain — read what's actually in System Data before touching it.
How MacVoid fits in
Everything above exists because macOS spreads junk across a dozen directories and never shows it to you. MacVoid scans those exact locations — DerivedData, Homebrew caches, simulator data, old backups, stale snapshots — groups what it finds by category, and shows you the full list before anything moves. Removal always goes to the Trash, so a cleanup is reversible. It's $19 once, runs entirely on your Mac, and has no subscription.
FAQ
Why is my Mac storage full even after deleting files?
Deleted files often remain in the Trash, in Time Machine local
snapshots, or inside caches and app support folders that Finder doesn't
surface. Empty the Trash, prune local snapshots with tmutil, and check
~/Library for caches — that's where most phantom space lives.
What is purgeable space on a Mac?
Purgeable space is storage macOS calculates it could reclaim on demand: local snapshots, caches, and already-synced media originals. It counts as used in Finder but frees itself when the system needs room.
Is it safe to delete caches on a Mac?
User caches in ~/Library/Caches rebuild automatically and are safe to
delete, though the space usually returns within days. Developer caches
like DerivedData and Homebrew downloads are both safe and high-yield.
How much free space should a Mac have?
Keep at least 10–15% of the disk free. macOS needs working room for swap, snapshots, and updates — below that, performance degrades and updates can fail.
Why does Finder show different free space than df?
Finder subtracts purgeable space from the "used" figure it shows you;
df -h reports raw filesystem usage including snapshots and purgeable
data. Neither is wrong — they're answering different questions.