3 min readJonas Höttler

Mac storage full: where the gigabytes actually hide

"Your disk is almost full" — and Finder shows you nothing. The twelve places the space really sits, how large each one typically gets, and how much of it comes back for free.

The BalaneDisk storage screen: every finding with its size, its verdict, and the exact route to getting it back.
The BalaneDisk storage screen: every finding with its size, its verdict, and the exact route to getting it back.

The warning always arrives at the wrong moment: "Your disk is almost full." You open Finder, find a home folder holding maybe 40 GB — and System Settings insists that 900 of 1000 GB are in use. The difference lives in places Finder does not show by default.

This is the map of those places, in the order they pay off on a working machine.

Xcode build data
46 GB
Docker
41 GB
iOS simulators
22 GB
Package caches
12 GB
Downloads
9 GB
Leftovers
4 GB
One real measurement on a developer machine, rounded. On a computer without Xcode and Docker nearly all of it moves into Downloads, mail attachments and the photo library.

Why "System Data" is so large

Apple calls the category System Data, and it is not a category but a remainder: everything macOS could not file anywhere else. It regularly contains:

  • Application caches under ~/Library/Caches and /Library/Caches
  • Sandboxed app containers under ~/Library/Containers
  • Local APFS snapshots that Time Machine parks on the internal disk
  • Logs and diagnostic reports under ~/Library/Logs
  • Developer leftovers, if Xcode or Docker was ever installed

None of these show up when you search your home folder for large files. That is why a full Mac feels like a riddle — the data is not hidden, it is simply not where anyone looks.

The twelve places, ordered by yield

PlaceTypicalDoes it come back?
~/Library/Developer/Xcode/DerivedData10–60 GBentirely, rebuilt on the next build
Docker (images, volumes, build cache)5–80 GBpartly — volumes can be data
~/Library/Developer/CoreSimulator/Devices5–40 GBper simulator, each with its own data
~/Library/Developer/Xcode/iOS DeviceSupport3–25 GBentirely, re-downloaded when needed
~/.npm, ~/.pub-cache, ~/Library/Caches/pip2–15 GBentirely, purely re-downloadable
Homebrew downloads (brew cleanup -n)1–10 GBentirely; Homebrew names the figure itself
~/Downloads2–40 GByour call — usually installers from 2023
~/Library/Mail (attachments)1–30 GBthrough Mail's settings, not through Finder
iPhone and iPad backups5–150 GBonly if a copy exists elsewhere
Photos library (originals kept local)10–400 GBthrough iCloud optimisation, not by deleting
Bin0–50 GBinstantly, and routinely forgotten
Leftovers of removed applications0.5–8 GBentirely, once they have been matched

The order matters: on a developer machine the first row often yields more than the next five combined, and it costs exactly nothing — the next build puts it all back.

The mistake cleaning software makes

A cleaner sees a 41 GB file called Docker.raw and offers to empty it. What it does not see is that four separate accounts live inside, and one of them is named volumes — the database somebody created for a project a year ago.

du can measure how large a folder is. Only the tool that owns the folder knows how much of it comes back for free. So BalaneDisk asks the tool:

docker system df -v
brew cleanup -n
xcrun simctl list -j

Every one of those calls is read-only, and each answers the question a folder size leaves open.

What ten minutes actually gets you

A realistic order for a Mac that is full:

  1. 01Empty the Bin. Free, instant, permanently forgotten.
  2. 02~/Library/Developer/Xcode/DerivedData — if present, usually the single largest item.
  3. 03Clear Docker in stages, never in one sweep: build cache first, then unused images, volumes last and one at a time.
  4. 04Review the simulators. A device you have not booted in two iOS releases still holds its full data set.
  5. 05Package manager caches through their own commands.
  6. 06Go through Downloads. Installers, DMGs and ZIPs of things that are long since installed.

After that a typical developer Mac is 60 to 120 GB lighter without a single document of yours being touched.

Why we still delete nothing

BalaneDisk shows each of these findings with its size, its verdict and the exact route — the command the owning tool wants, or the folder opened in Finder. Nothing is deleted. Software that empties folders unasked is asking for trust with data it does not understand; the decision, and the undo, stay with you.

More on that: Why BalaneDisk never deletes anything.

Questions people ask
Why does "About This Mac" show more used space than my folders add up to?
Because most of it sits in hidden folders under ~/Library, in APFS snapshots and in system data that Finder does not display. The "System Data" category is not a category at all — it is the remainder macOS could not file anywhere else.
Can I just delete ~/Library/Caches?
Technically yes, usefully rarely. Most applications rebuild their cache immediately; some lose signed-in sessions or local drafts on the way. Going after the big ones specifically — Xcode, Docker, npm, through their own commands — returns more space and costs nothing.
How much free space should an SSD keep?
Ten to fifteen percent as a rule of thumb. Below that, APFS gets noticeably slower at creating snapshots and writing large files, and some applications abort a save instead of waiting.
TopicsStoragemacOSDisk space

See it on your own machine.

Every screen in these articles is free to use, for as long as you use it.

Sources and links
Read on