What is System Data on a Mac, and how do you shrink it?
macOS puts tens of gigabytes in a category it refuses to explain. Here is what is actually in there, and how to clear each part of it yourself.
Open System Settings → General → Storage on almost any Mac that has been in use for a year and you will find a grey bar labelled System Data, holding somewhere between 20 GB and 150 GB. Click it and macOS tells you nothing useful. There is no “show me what this is” button.
If you have gone looking for how to clear System Data on a Mac, you have probably already found a dozen pages telling you to buy something. You do not need to.
System Data is not one thing. It is the bucket macOS drops everything into when a file does not fit Applications, Documents, Photos, Music, Mail or iCloud Drive. Older versions of macOS called the same category Other, and cleaner apps tend to market their version of it as system junk — three names, one pile. Some of it is genuinely needed. Some of it is rubbish that has been accumulating since the machine was new. The trick is knowing which is which, and that means looking at actual folders rather than at that bar.
Everything below is done with tools already on your Mac. No downloads required.
First, check whether the space is actually gone
Before deleting anything, find out what is really occupied, because macOS reports two different numbers and only one of them matters.
Open Terminal and run:
df -h / /System/Volumes/Data
You will get two lines that look something like this:
/dev/disk3s1s1 460Gi 12Gi 167Gi /
/dev/disk3s5 460Gi 269Gi 167Gi /System/Volumes/Data
The first line is the sealed system volume, which Apple manages and you cannot touch. The second is where everything of yours lives. The number that matters is Avail — the free space you actually have.
Now compare that to what Storage settings claims. Storage settings usually reports a larger free figure than df, and the difference is purgeable space: files macOS knows it can delete the moment something needs room, mostly local Time Machine snapshots and cached iCloud files. df counts them as used because they exist; macOS counts them as free because it can drop them on demand. On the Mac used for this article the gap is about 6 GB.
So if Storage settings looks healthier than df, that is expected and nothing is wrong. What matters for “can I install this” is the df number, because that is the space that exists without macOS having to delete anything first.
This matters because a lot of “my Mac is full” panic is purgeable space, and the fix is to do nothing at all.
If df also shows you genuinely low on space, keep reading.
Time Machine’s local snapshots
This is the single largest contributor on most Macs, and almost nobody knows it exists.
Even with no backup drive attached, Time Machine takes hourly snapshots and keeps them on your internal disk for 24 hours. On a busy machine those can add up to tens of gigabytes. They appear as System Data, and they are purgeable, so macOS will drop them under pressure — but you can also clear them yourself.
List them:
tmutil listlocalsnapshots /
If that prints a list of dates, you have snapshots. To reclaim space from them, thin them:
sudo tmutil thinlocalsnapshots / 50000000000 4
The number is how many bytes you want back — 50000000000 is roughly 50 GB — and 4 is the urgency, where 4 is the most aggressive. To delete one specific snapshot instead, pass its date:
tmutil deletelocalsnapshots 2026-09-01-120000
You are not deleting your real backups. Snapshots on the internal disk are a convenience copy; the backups on your Time Machine drive are untouched.
Application containers and caches
Every app on a modern Mac keeps a container of its own, and many of them cache aggressively and never clean up. Browsers, chat apps, music and video apps and anything with a sync engine are the worst offenders.
See where it has gone:
du -sh ~/Library/Containers/* | sort -h | tail -20
du -sh ~/Library/Caches/* | sort -h | tail -20
Those two commands list the twenty biggest folders in each location, smallest to largest. On the machine this was written on, ~/Library/Containers alone holds 13 GB.
Caches are safe to delete in the sense that an app will rebuild whatever it needs. Two rules make it safer:
- Quit the app first. Deleting a cache under a running app can confuse it until you relaunch.
- Delete the contents of a specific app’s folder, not the whole
Cachesdirectory. Blanket deletion works, but it also logs you out of things and makes the next launch of everything slow.
Containers need more care. A container is not only cache — for a sandboxed app it may hold your actual documents and settings. Look inside before removing anything, and treat ~/Library/Containers/<app>/Data/Library/Caches as the safe part.
There is a system-level cache folder too, at /Library/Caches. It is usually small and rarely worth the risk.
iPhone and iPad backups
If you have ever backed up a phone to this Mac, those backups are sitting in your home folder, and they are large — often 10 GB or more each, and old devices you no longer own may still have one.
du -sh ~/Library/Application\ Support/MobileSync/Backup/*
You can delete them from Finder, but it is safer to do it through the interface that knows what they are: open the Finder sidebar, select your device, choose Manage Backups, then delete the ones you do not need. On older macOS versions this lives in the Finder or iTunes preferences.
Do check the dates before deleting. If a backup is the only copy of a phone you no longer have, it is the only copy.
Xcode, if you are a developer
If Xcode is installed, it is very likely your biggest single consumer, and every gigabyte of it is regenerable.
du -sh ~/Library/Developer/Xcode/DerivedData
du -sh ~/Library/Developer/Xcode/iOS\ DeviceSupport
du -sh ~/Library/Developer/CoreSimulator/Devices
DerivedData is build output. Deleting it costs you one slow rebuild and nothing else. iOS DeviceSupport holds symbol files for every iOS version you have ever plugged in; Xcode re-downloads what it needs. CoreSimulator/Devices holds every simulator you have created, including ones for runtimes you have since removed:
xcrun simctl delete unavailable
That last command deletes only simulators whose runtime is no longer installed, which is exactly the set you want gone. Between the three, 30 GB or more is common.
Mail keeps a local copy of messages and, depending on your settings, every attachment you have ever received.
du -sh ~/Library/Mail
Rather than deleting files here by hand, which will confuse Mail, change the setting that caused it: Mail → Settings → Accounts → Account Information, and set Download Attachments to Recent or None. Then empty the Trash and Junk mailboxes inside Mail itself, and use Mailbox → Erase Deleted Items.
Installers you already used
Disk images and installer packages are the easiest win, because nobody ever needs them twice.
find ~/Downloads -type f \( -name "*.dmg" -o -name "*.pkg" \) -exec du -sh {} \; | sort -h
A macOS installer alone is 12 GB or more, and people frequently have two.
The Trash, including the ones you forgot
Emptying the Trash is obvious, but there is a Trash per volume and per user, and files there still occupy space:
du -sh ~/.Trash
External drives keep their own, in a hidden .Trashes folder at the root of the drive. If you deleted a large file from an external disk and it is still full, that is where it went.
What not to delete
A few things get recommended online that you should ignore.
- Do not touch
/Systemor/private/var/db. The system volume is cryptographically sealed. At best macOS ignores you; at worst you break the install. - Do not delete
/private/var/vm. That is swap and the sleep image. macOS sizes it on its own, and it comes straight back. - Do not blanket-delete
~/Library. It contains your preferences, keychains, licenses and app data, not just cache. - Do not run
sudo rm -rfon anything you found in a forum post. The number of Macs reinstalled because of a stray space in that command is not small. - Be suspicious of “System Data cleaner” apps that will not show you what they are deleting. This category has a long history of scareware. Anything that reports a scary number and hides the file list has not earned your trust.
Why the number does not drop immediately
Having done all of the above, you may look at Storage settings and see the same figure. This is normal and does not mean it failed.
That screen is computed and cached, sometimes for hours. Check df -h /System/Volumes/Data for the truth. A restart forces macOS to recalculate, and also clears a set of caches that cannot be removed while the system is running. Booting into Safe Mode once and restarting normally clears more of them again.
The short version
If you want the biggest results for the least effort, in order:
- Run
df -h /System/Volumes/Dataand find out whether you actually have a problem. - Thin Time Machine local snapshots.
- Delete Xcode’s DerivedData and unavailable simulators, if you are a developer.
- Delete old iPhone and iPad backups you no longer need.
- Clear caches for the handful of apps that hold the most.
- Delete installers in Downloads.
- Restart, then look at the number again.
That is genuinely most of it. System Data is not mysterious once you know it is made of snapshots, caches, backups and build output — four things, all of which macOS is happy for you to remove, and none of which it will show you.