← All articles

What 'System Data' Actually Is on macOS (and Why It's 200 GB)

Apple's storage bar shows a huge grey bucket labelled System Data and gives you no way to open it. Here is what is really inside, and how to see it for yourself.

macOSStorageAPFSSystem DataDeveloper

You open About This Mac → Storage. There is a grey segment labelled System Data, it is 187 GB, and clicking it does nothing.

macOS offers no explanation and no way in. So let us do it properly.

“System Data” is not a thing

It is a leftover category. macOS classifies files it recognises — Photos, Music, Applications, Documents, iCloud Drive — and everything that matches none of those buckets is dumped into System Data. It is not a folder. It is not a location. It is the remainder after subtraction.

Which means the answer to “what is my System Data?” is different on every Mac. On yours, as a developer, it is overwhelmingly one thing: build caches.

What is actually in it

In rough order of how much space it usually accounts for on a developer’s machine:

Developer caches. Xcode DerivedData, iOS simulators, Docker’s VM image, node_modules, Gradle, Homebrew, npm, pip, Cargo. macOS has no category for any of it. Frequently 60–70% of the bucket.

Time Machine local snapshots. macOS keeps hourly snapshots on your internal drive even when your backup disk is elsewhere. Tens of gigabytes, and they hold files you already deleted.

System and user caches. /Library/Caches, ~/Library/Caches, and every application’s private cache — browsers alone are often several gigabytes.

Mail downloads. Every attachment you ever previewed, kept indefinitely.

iOS device backups. If you have ever backed up a phone to this Mac, that is 30–150 GB in ~/Library/Application Support/MobileSync/Backup.

Sleep image and swap. /private/var/vm holds a sleep image the size of your RAM, plus swap files.

Logs and diagnostics. /private/var/log, plus crash reports going back years.

Disk Utility shows a category with this name and everyone assumes something is wrong. Nothing is wrong.

APFS puts multiple volumes — Macintosh HD, Macintosh HD - Data, Preboot, Recovery, VM — inside one shared container, and they all draw from the same free-space pool. When you look at one volume, everything the other volumes are using is reported as “Other Volumes in Container.”

It is not junk and there is nothing to clean. It is just APFS describing the sharing arrangement badly.

Why the free-space number keeps changing

APFS reports purgeable space as available. Local snapshots and evictable caches count toward your free space because macOS believes it can reclaim them under pressure.

The practical effect: Finder says you have 40 GB free, you try to copy a 30 GB file, and it fails. The 40 GB was mostly purgeable, and macOS did not reclaim it fast enough.

For the honest number:

df -h /System/Volumes/Data

Open the bucket yourself

Stop guessing. Measure:

# Top-level, home directory and Library
du -sh -- ~/* ~/Library/* 2>/dev/null | sort -hr | head -25

# Caches specifically
du -sh ~/Library/Caches/* 2>/dev/null | sort -hr | head -20

# Time Machine local snapshots
tmutil listlocalsnapshots /

# iOS backups
du -sh ~/Library/Application\ Support/MobileSync/Backup/* 2>/dev/null

# Mail attachments
du -sh ~/Library/Containers/com.apple.mail 2>/dev/null

Give the first one a minute or two. Between them, those five commands will account for the great majority of any developer’s System Data, and the answers are usually not subtle — one or two lines dominate everything else.

What is safe to remove

Safe, regenerates automatically: Xcode DerivedData, simulator caches, Docker build cache, node_modules, all package manager caches, ~/Library/Caches (quit apps first — some misbehave if you pull their cache while running).

Safe but consider it first: Time Machine local snapshots, which are your ability to recover a file you deleted an hour ago. Delete them when you need space now, not as routine maintenance:

# Free approximately 50 GB, urgency 4
sudo tmutil thinlocalsnapshots / 50000000000 4

Old iOS backups, likewise — check the phone is still backed up somewhere before deleting.

Leave alone: /System (protected by SIP and you cannot touch it anyway), /private/var/vm (macOS manages the sleep image and swap; deleting them achieves nothing lasting), and anything in /Library you cannot identify.

The one-line summary

On a developer’s Mac, “System Data” is mostly build caches that macOS has no name for. It is not a corruption, not a bug, and not something an optimisation tool will fix by magic. It is Xcode, Docker, npm and Gradle doing exactly what they were designed to do, in a folder Apple hides from you.

The full developer storage guide walks every source with the command to reclaim it. Or DevCruft draws the whole disk to scale and labels each one, which is the same information without the terminal.

Or let the map do it.

DevCruft finds every cache in this article, shows you what each one costs you, and clears them in one click.

Apple silicon & Intel · No account · Nothing leaves your Mac