How to free up disk space on a Mac: 12 places your storage actually went

"System Data" is eating 200 GB and you have no idea why. Here are the twelve places space really disappears on a Mac — and what is safe to delete.

4 min read

A Mac storage bar exploding into colourful blocks of folders, caches and files

The "Your disk is almost full" warning always arrives at the worst moment — mid-export, mid-update, mid-deadline. And when you open the storage settings, the biggest bar is usually a vague grey block called System Data.

Here is where the space actually goes, in rough order of how much it tends to free up, with what is safe to delete and what is not.

First: see the big picture

Open System Settings → General → Storage. Wait for the bar to finish calculating, then look at the categories below it. Each one has an ⓘ button that opens a list you can sort by size. Start with the Recommendations at the top — Store in iCloud, Optimize Storage and Empty Trash Automatically are all safe.

What "System Data" really is

System Data is a catch-all: caches, logs, virtual machine disks, local Time Machine snapshots, iPhone backups and developer files can all land there. That is why it is often the biggest bar — and why the next sections matter.

12 places to reclaim space

1. Downloads

The classic. Open Downloads in Finder, switch to List view and sort by Size. Old installers (.dmg, .pkg) are always safe to delete once the app is installed.

2. The Trash

Files in the Trash still use space. Empty it, and turn on Empty Trash Automatically to clear items after 30 days.

3. iPhone and iPad backups

Each local device backup can be tens of gigabytes. In Finder, select your device in the sidebar, click Manage Backups, and delete old ones you no longer need.

4. Xcode

If you build apps, Xcode is often the single largest consumer:

  • DerivedData — build caches, safe to delete; Xcode rebuilds them. They live in ~/Library/Developer/Xcode/DerivedData.
  • Archives — old app builds in ~/Library/Developer/Xcode/Archives. Keep the ones you shipped and might need to symbolicate.
  • Old simulators — run xcrun simctl delete unavailable to remove simulators for runtimes you no longer have.

5. Docker

Images, stopped containers and build cache accumulate quietly. See the breakdown with docker system df, then clean up with:

docker system prune

That removes stopped containers, unused networks, dangling images and build cache. Adding -a also removes every image not used by a container — only do that if you are happy to pull them again.

6. node_modules folders

Every JavaScript project carries its own copy of its dependencies. Old projects you have not opened in months can add up to tens of gigabytes. Tools such as npx npkill list them by size so you can delete the stale ones; reinstall later with your package manager.

7. Package manager caches

Homebrew keeps old versions and downloads: brew cleanup removes them. npm, pnpm, pip and Gradle have caches of their own that are safe to clear when space is tight.

8. App caches

~/Library/Caches holds caches for every app. Apps rebuild them, so clearing a large one (a browser, Spotify, a design tool) is generally safe — quit the app first. Avoid deleting anything outside the Caches folder in Library unless you know what it is.

9. Messages and Mail attachments

Years of photos and videos in Messages add up. In Messages → Settings → General, set Keep messages to one year. In the Storage settings, the Messages category lets you review large attachments one by one.

10. Photos and Music libraries

Turn on Optimize Mac Storage in Photos (with iCloud Photos) to keep full-resolution originals in iCloud and smaller versions locally. Downloaded music and podcasts can be removed from the Music and Podcasts apps.

11. Local Time Machine snapshots

If you use Time Machine, macOS keeps local snapshots and deletes them automatically when space is needed. You can list them with tmutil listlocalsnapshots /. Normally you can leave them alone.

12. Large files you forgot about

In Finder, press ⌘F, set the first rule to File Size → is greater than → 1 GB, and search This Mac. Old screen recordings, VM images and video exports tend to show up here.

What not to delete

  • Anything in /System or /Library that you do not recognise.
  • App folders in ~/Library/Application Support for apps you still use — that is their data, not cache.
  • iPhone backups you have not replaced with a newer one.

The easier way: NabuClean (coming soon)

Doing all of this by hand works, but it is a monthly chore. NabuClean is our upcoming Mac cleaner that does it with one review screen — and without the yearly subscription most cleaners charge:

  • Smart Care — one scan covering cleanup, protection and performance, showing exactly what it will remove before it does.
  • Cleanup — system junk, caches, logs, old downloads and leftover installers, reviewed by category.
  • Space Lens — your disk as a map of folders by size, so you can drill straight into whatever is eating it.
  • Applications — uninstall apps completely, leftovers included, and find the ones you have not opened in months.
  • Protection — review login items, background agents and browser extensions that start without asking.

Every scan runs on your Mac, and it is a one-time purchase.


One last tip: try to keep at least 15% of your disk free. macOS needs room for swap, updates and caches, and a nearly full disk is one of the most common reasons a Mac starts to feel slow.

← All posts