Why is System Data so big on a developer Mac?
If you open System Settings → General → Storage and see a huge grey bar, you are not alone. On a Mac used for development, that bar is often the biggest thing on the disk, and macOS does not tell you what is in it. Here is how to find out.
Two bars, not one
When Xcode is installed, macOS adds a Developer category to the storage view. Click the ⓘ next to it and you get a breakdown such as:
- Project Build Data and Indexes: your DerivedData.
- Project Archives: the builds you archived.
- iOS Device Support: symbols copied from your devices.
Everything that does not fit one of the named categories lands in System Data. So the useful move is to check both: the Developer breakdown for Xcode, and the folders below for the rest.
The five-minute audit
Open Terminal and run these. They only measure, they delete nothing:
du -sh ~/Library/Developer/* 2>/dev/null
du -sh ~/Library/Caches/* 2>/dev/null | sort -rh | head -15
du -sh ~/.npm ~/.cache ~/.gradle ~/.bun 2>/dev/null
The first shows Xcode and the simulators. The second shows the 15 biggest app caches. The third shows the package managers and build tools that keep their data in your home folder.
The usual suspects
| What | Where | Safe to clear? |
|---|---|---|
| Xcode build data | ~/Library/Developer/Xcode/DerivedData |
Yes, rebuilt on the next build. Details |
| Device symbols | ~/Library/Developer/Xcode/iOS DeviceSupport |
Yes, copied again when you connect. Details |
| Simulators and runtimes | ~/Library/Developer/CoreSimulator |
Yes, with consequences. Runtimes, devices |
| Xcode archives | ~/Library/Developer/Xcode/Archives |
Careful: shipped builds hold dSYMs. Details |
| Package caches | ~/.npm, ~/Library/pnpm, ~/.bun |
Yes, downloaded again. npm |
| Homebrew downloads | ~/Library/Caches/Homebrew |
Yes. Details |
| Gradle | ~/.gradle |
Yes. Details |
| Docker disk image | Inside ~/Library/Containers/com.docker.docker |
Yes, with Docker’s own tools. Details |
Local snapshots
macOS keeps local snapshots of your disk, which count toward System Data. List them:
tmutil listlocalsnapshots /
macOS removes them on its own when it needs space, and they are usually small. If you have one that is old and you want it gone, delete it by its date:
tmutil deletelocalsnapshots 2026-10-01-120000
Use the date exactly as listlocalsnapshots prints it.
What not to delete
Some folders look like clutter but hold things you cannot rebuild:
~/Library/Application Supportas a whole. It holds settings, databases and saved state for your apps.~/Library/ContainersandGroup Containersfor apps you use.~/Library/Mail,MessagesandKeychains.- Your chat and session history inside developer tools.
Delete specific, named caches. Do not empty a parent folder because it is big.
A realistic expectation
On a Mac with Xcode, a Gradle or Node toolchain and a few years of projects, the safe pile is often tens of gigabytes. After you clear it, macOS may take a moment to update the number. If it still looks wrong, read why the Mac storage can stay full after deleting files. The full checklist puts the cleanup in order.
Quick answers
Is it safe to delete System Data on a Mac?
You cannot delete System Data as a whole, and you should not try. It is a collection of different things. Some, like developer caches and old local snapshots, are safe to clear one by one. Others, like your app data and the system itself, are not.
Why does Xcode show up under Developer and not System Data?
macOS lists space used by Xcode under a separate Developer category when Xcode is installed, with entries such as Project Build Data and Indexes, Project Archives and iOS Device Support. What does not fit a category falls into System Data.
Will System Data shrink by itself?
Partly. macOS removes some caches and local snapshots when it needs space. Developer files like DerivedData and old simulators stay until you remove them.