The playbook in one breath
- Measure first. Trust
dfor Disk Utility, not the Finder's optimistic number. - Map, don't guess. Find the largest items with a treemap or size-sorted view.
- Reclaim snapshots. Local Time Machine snapshots often hold the space you already "deleted."
- Remove only what rebuilds. Caches, build output, old exports, stale backups. Never originals, keys or system files.
- Keep a way back. Send things to the Trash, not oblivion, and empty it only once you are sure.
The one principle
Every safe cleanup rests on a single distinction: some files are reproducible and some are irreplaceable. A cache, a build folder, a downloaded model, a render file: the system or an app can make these again from something else. Your photos, your documents, your project files, your keys: nothing can. The entire art of freeing space without regret is learning to tell the two apart, and only ever removing the first kind.
This is also, not coincidentally, exactly how Apple frames its own guidance. Apple's advice on freeing space is built entirely around safe, reversible moves, and the company is explicit that macOS itself "clears caches and logs that are safe to delete" when space is needed. You are extending that same philosophy, deliberately, to the larger items the system leaves to you.
Step 1: Measure, and trust the right number
Do not delete anything yet. First, find out how much space you really have, because the Finder will lie to you, gently. The Finder counts "purgeable" space, caches and snapshots macOS could free on demand, as available, so its free-space figure is an optimistic estimate rather than a measurement. For the truth, use Terminal or Disk Utility.
# the honest free-space figure $ df -h /
Note the number. You will compare against it at the end so you know what you actually recovered.
More on why the numbers disagree: Where did my Mac storage go?
Step 2: Map the disk, don't guess
Now find what is big. Clicking through folders is slow and misses things. Instead, look at the whole disk sorted by size, as a ranked list or a treemap where each folder is a rectangle sized by how much space it uses. Start at the top, drill into the biggest branch, repeat. On a Mac, use a tool that is aware of the System and Data volume split, because a naive scanner can follow firmlinks and double-count, reporting more data than the disk can hold.
The usual heavyweights, in rough order of how often they dominate: large media files, developer and creative app caches, Docker, iPhone backups, and local snapshots.
Step 3: Reclaim local snapshots
This step belongs near the front because it so often explains the whole problem. If Time Machine is on, your Mac keeps local snapshots on its internal disk, and a snapshot taken before you deleted something keeps that something's blocks alive. This is why emptying the Trash sometimes frees almost nothing. Reclaim it with the proper tool:
# see local snapshots, then reclaim ~10 GB, max urgency $ tmutil listlocalsnapshots / $ tmutil thinlocalsnapshots / 10000000000 4 $ df -h / # confirm with the honest number
The full explanation: The disk that won't empty: APFS snapshots and Time Machine
Step 4: Remove only what rebuilds
Here is the heart of it. Work down the list of what you removed, keeping to things that come back. It helps to think in three tiers.
App caches the system or app regenerates without you noticing: browser caches, chat-app web caches, Xcode DerivedData, a video editor's render and media cache. Removing these costs nothing but a little rebuild time.
Things that re-download or recompute: package manager caches, old node_modules and build folders in idle projects, Docker's unused images and build cache, downloaded AI models. Safe to remove, but you pay to restore them, so clear the ones you are not about to use.
Items that can hold data you cannot recreate: iPhone and iPad backups, Lightroom Smart Previews when your originals are offline, simulator devices with app data, DaVinci gallery stills. Never bulk-delete these. Look at each one.
The biggest wins by audience are predictable. If you write code, the largest reclaim is almost always your development tools:
- Xcode: DerivedData, old simulators and runtimes, iOS DeviceSupport, archives.
- Docker: unused images, dangling layers and build cache, inside that ever-growing disk image.
- node_modules and package caches across your idle projects.
If you edit video or photos, it is your editing caches: Final Cut render files, Premiere and After Effects media cache, DaVinci Resolve cache, Lightroom previews. All rebuild from your originals, which you keep. For everyone, the single largest item is frequently an old iPhone or iPad backup in ~/Library/Application Support/MobileSync/Backup; delete those through Finder's Manage Backups, not by hand, and only ones you no longer need.
SSH and GPG keys (~/.ssh, ~/.gnupg), cloud credentials (~/.aws, ~/.kube), keychains, AI agent memory and history, anything that looks like a secret (.env, tokens), your Photos library and other originals, project databases and catalogs, and system folders (/System, /Library, /usr). None of these free meaningful space safely, and some break your Mac or lose data outright.
Step 5: Keep a way back
Even reproducible files deserve a safety net, because "reproducible" and "convenient to reproduce" are not the same thing. Re-downloading a 40 GB AI model or re-conforming a video project is technically possible and practically painful. So move things to the Trash rather than deleting them outright, and empty it only once you have confirmed nothing broke. Remember that moving to the Trash does not reclaim space until you empty it; the honest tools will tell you both numbers.
There is one exception worth knowing: Docker removes its own objects directly rather than via the Trash, so Docker cleanups cannot be undone the same way. That is a reason to review Docker's list before confirming, not a reason to avoid it.
What to skip entirely
A safe cleanup is as much about what you do not do. Skip the rituals that popular advice still pushes and that do nothing on a modern Mac:
- Freeing RAM. Free memory does not make a Mac faster; judge memory by Memory Pressure instead.
- Clearing caches for speed. Caches are the speed-up; clearing them is a temporary slowdown. Clear a cache for space or to fix a glitch, not for performance.
- Maintenance scripts and repairing permissions. Both have been removed from macOS, in 2024 and 2015 respectively.
The full accounting: Nine Mac cleaning myths that waste your time and Does clearing cache speed up your Mac?
How much is enough?
You do not need to chase an empty disk. There is no magic percentage, but a good rule of thumb is to keep roughly 100 GB free on your boot drive, mainly so macOS updates and large installs have room to work. There is a secondary reason too: a very full SSD can slow down on writes, because the drive controller has less room for its write cache and housekeeping. Headroom, not emptiness, is the goal.
The whole playbook, once more
- Measure real free space with
df -h /or Disk Utility. - Map the disk with a volume-aware treemap; drill into the biggest branches.
- Reclaim local snapshots with
tmutil. - Remove Safe and Rebuilds items you are not about to use; review the Review tier one by one.
- Send everything to the Trash, confirm nothing broke, then empty it.
- Re-check
df -h /to see what you recovered. Aim for headroom, not emptiness.
Do this and you can reclaim a great deal, 50 to 150 GB is a common result on a working developer or creative Mac, without ever risking anything you cannot get back. Safe and thorough are not opposites. Measuring first is what makes them the same thing.
The whole playbook, in one app
StorageSage does every step: it maps your disk correctly, surfaces local snapshots and the big caches, labels everything Safe, Rebuilds or Review, explains what each item is, and sends it all to the Trash first with full undo. Nothing leaves your Mac.
Download for macOSSources
- Apple — Mac User Guide on optimizing storage and freeing space (built-in, reversible options; macOS clears safe caches and logs); Activity Monitor memory guidance; on-device
man tmutil,man df. - Howard Oakley, The Eclectic Light Company — purgeable space and free-space reporting, snapshots, and how much free space an APFS disk needs (~100 GB boot-drive rule of thumb; near-full SSD write slowdown).
- Official documentation referenced in the linked guides: Docker, npm/pnpm/Yarn, Adobe, Apple Final Cut, Blackmagic Resolve, Apple backups.