“System Data” on macOS is basically Apple’s junk drawer. It’s not one thing—it’s a grab-bag of stuff the system doesn’t neatly categorize.

What “System Data” actually includes

1. Caches (can get huge)

  • App caches (Chrome, Slack, VS Code, Spotify, etc.)
  • System caches
  • Developer tool caches (Xcode, simulators, Flutter, Android, npm, pip, etc.)

These are safe to delete—macOS will regenerate them.

2. Developer junk (very common if you code)

  • Xcode DerivedData
  • iOS Simulators
  • Android emulators
  • Flutter / Dart build outputs
  • Node modules cache
  • Python virtualenvs + pip cache
  • Docker images & volumes (big offender)

This alone can be tens of GB.

3. Local Time Machine snapshots

If you use Time Machine:

  • macOS keeps local snapshots when the backup disk isn’t connected
  • These show up as System Data

They auto-delete when space is needed, but they still count.

4. Logs & diagnostic files

  • System logs
  • Crash reports
  • Analytics logs
  • Old .log files that never got cleaned

5. System support files

  • Fonts
  • Language resources
  • Spotlight index
  • Siri / Apple Intelligence assets
  • Virtual memory (swap files, sleepimage)

6. “Deleted but not really deleted” files

  • Files moved to Trash but held open by a process
  • Old app leftovers after uninstalling apps
  • Orphaned support folders in ~/Library

Why macOS doesn’t explain it clearly

Apple intentionally hides detail here to:

  • Prevent users from deleting critical system files
  • Avoid support nightmares
  • Encourage “it just works” behavior

Unfortunately, it also means no transparency.

macOS classifies anything under ~/Library that isn’t:

  • Photos
  • Documents
  • Apps

as System Data, even if you created it.

How to see what’s actually eating the space

Option 1: Quick Terminal check (safe)

du -h -d 1 ~/Library | sort -h

also:

du -h -d 1 /Library | sort -h

You’ll usually see the culprit immediately.

High-impact cleanup targets (very likely wins)

~/Library/Developer/
~/Library/Caches/
~/Library/Containers/
~/Library/Application Support/

If you use:

  • Docker → prune images & volumes
  • Xcode → delete DerivedData + unused simulators
  • Flutter → clean build folders
  • Python → remove old venvs
  • Node → clear npm/yarn cache

~/Library/Containers

This is sandboxed app data for:

  • VS Code
  • Apple apps
  • Slack, Notion, Chrome helpers
  • Some dev tools
du -h -d 1 ~/Library/Containers | sort -h

You’ll usually find:

  • Old app containers
  • Apps you uninstalled months ago

Safe to delete entire folders for apps you no longer use Don’t touch active Apple system ones unless you know them

~/Library/Application Support

Contains:

  • Docker (Docker Desktop, containers, volumes)
  • VS Code extensions
  • Browsers
  • AI models
  • Flutter, npm, yarn caches
  • Random app junk
du -h -d 1 ~/Library/Application\ Support | sort -h

You’ll almost certainly see something like:

  • Docker → big
  • Code
  • Google
  • Microsoft
  • Cursor / VSCode

This is where you’ll reclaim 10–30 GB easily.

~/Library/Android

100% dev-related.

Contains:

  • Android SDKs
  • System images
  • Emulators
  • Old API levels

If you don’t actively need all versions:

rm -rf ~/Library/Android/sdk/system-images/*

Or via Android Studio → SDK Manager (cleaner).

~/Library/Caches

Totally safe. You can delete everything inside:

rm -rf ~/Library/Caches/*

macOS + apps will regenerate what’s needed.

Logs & Group Containers

Fast wins (safe, fast cleanup with minimal thinking)

rm -rf ~/Library/Caches/*
rm -rf ~/Library/Logs/*

Then:

  • Clean Android SDK
  • Inspect Application Support
  • Inspect Containers

Time Machine local snapshots

Check:

tmutil listlocalsnapshots /

Delete (example):

sudo tmutil deletelocalsnapshots 2025-01-26-123456

Is it dangerous to clean System Data?

  • Don’t delete random files inside /System
  • Totally fine to clean Caches, Developer, Logs, Snapshots

macOS is very good at regenerating what it needs.