System Data Unpacked

System Data Unpacked › macOS System Data

macOS System Data: what it is and how to clear it safely

The short answer. System Data is the catch-all line in macOS Storage settings: everything macOS cannot file under Apps, Documents, Photos or the system itself. On a developer's Mac it is mostly caches, simulators, build folders and downloaded models, which rebuild or can be downloaded again. On any Mac it also holds local Time Machine snapshots, logs and device backups. Some of it is safe to delete, some is a decision, and the only reliable way to tell which is to measure what is actually in it.

What System Data is

Open System Settings › General › Storage (on macOS Monterey and earlier, About This Mac › Storage) and the bar is split into Applications, Documents, Photos, macOS and a few more. System Data is what is left over. It is not a folder and not a type of file. It is a category, and it is defined by exclusion: whatever Storage settings cannot attribute to one of the named categories ends up there.

Until macOS Monterey the same category was called Other. The rename did not change what goes into it, and it did not make it any easier to see inside: Storage settings still shows one total and no list.

That is why the number is confusing. It is not one thing that grew, it is a few dozen unrelated things that each grew a little, and macOS adds them up without saying what they are.

What is actually inside it

Here is a real one: a developer's Mac, 245 GB disk, System Data at 107.9 GB, measured item by item. The badges say how much thought deleting each part needs.

PartWhere it livesSafetySize
Project build foldersnode_modules, .next, .build, Pods inside your projectsReview23.8 GB
Simulator devices~/Library/Developer/CoreSimulator/DevicesReview19.5 GB
Simulator runtimesmanaged by xcrun simctl runtimeReview15.9 GB
Package managersHomebrew, npm, pip, uv, Cargo caches and installsManual13.3 GB
AI models and tools~/.ollama, ~/.cache/huggingface, LM StudioReview8.1 GB
Caches that rebuild~/Library/Caches, Xcode caches, logsSafe6.6 GB
Everything elseapp data, containers, snapshots, smaller foldersMixed20.7 GB

Measured with System Data Unpacked on one Mac. Yours will differ, which is the point: the parts change from machine to machine, so no fixed list of folders to delete is right for everyone.

On a Mac that is not used for development the mix is different but the idea is the same. The usual large parts are:

Why System Data gets so large

Almost nothing in it is a leak. Each part is a cache or a store that some tool fills on purpose and nobody empties: Xcode keeps every build product in case you build again, a package manager keeps every version it downloaded, a simulator keeps every app you installed on it, and every Xcode update leaves the previous simulator runtime behind. Each of them is reasonable on its own. Together, over a year, they pass 100 GB without anything being wrong.

It also grows in bursts. A new Xcode, a new project, a model download or a phone backup can add 10 to 30 GB in an afternoon, which is why the number seems to jump rather than creep.

How to see what is inside

Storage settings will not list the parts, but Terminal will. These commands only read; none of them deletes anything.

The largest folders in your Library

du -sh ~/Library/* ~/Library/Application\ Support/* 2>/dev/null | sort -h | tail -20

Local Time Machine snapshots

tmutil listlocalsnapshots /

Simulator runtimes and devices (if you have Xcode)

xcrun simctl runtime list
du -sh ~/Library/Developer/CoreSimulator/Devices ~/Library/Developer/Xcode/* 2>/dev/null

Docker

docker system df

Two things make doing this by hand slow. Some of the largest folders sit inside other apps' containers, which macOS will not let Terminal read until Terminal has Full Disk Access. And a list of sizes does not say what each folder is or whether deleting it is safe. That second question is the one that matters.

How to clear System Data safely

Go from the parts that cost nothing to delete towards the ones that need a decision, and stop when you have the space you need.

1. Caches and build output that rebuild on their own

Xcode's DerivedData, package manager caches and app caches are recreated the next time they are needed. Deleting them costs a slower next build and nothing else.

rm -rf ~/Library/Developer/Xcode/DerivedData
brew cleanup --prune=all
npm cache clean --force

2. Simulators and runtimes you no longer use

Every Xcode update leaves the previous runtime behind. Remove the devices Xcode itself marks unavailable, then any runtime you no longer build for.

xcrun simctl delete unavailable
xcrun simctl runtime list
xcrun simctl runtime delete <identifier>

3. Build folders of projects you stopped working on

A node_modules or .build folder in a project you have not opened for months is pure cost. It comes back with npm install or the next build if you ever return.

4. Local snapshots, if you need room right now

macOS removes local snapshots when it runs short of space, so this is rarely needed. When it is, delete them by date from the list above:

sudo tmutil deletelocalsnapshots <date>

5. Decisions, not cleanup

Device backups, virtual machines, downloaded models and app data are things you may want back. Check that a phone is backed up to iCloud before removing its local backup (Finder › your device › Manage Backups), and remove chat media from inside the chat app rather than from its folder, which also holds your login and message history.

What not to delete

Purgeable space is not free space

Finder and Storage settings show a purgeable figure: the space macOS estimates it could free from caches and snapshots if something needed room. It is tempting to count it as free. Measured, it is not.

On a MacBook with 55.38 GB free, 3.55 GB purgeable and no local snapshots, 6.44 GB was written in 1 GB steps and then deleted. Free space fell by 6.45 GB, every byte of it from real free space and none from the purgeable pool. The purgeable figure dropped to 1.11 GB along the way, which was macOS lowering its estimate rather than handing anything over, and it returned to 3.55 GB on its own once the files were gone. The full measurement is published.

macOS may evict more when a disk is genuinely close to full. At ordinary free-space levels, though, purgeable is an estimate that moves on its own, not space to plan around.

Reducing it without deleting anything

Some of System Data you would rather keep: an SDK, an archive, a project you will come back to. macOS can store files compressed and decompress them transparently when they are read. It does this to much of the system itself. Applied to folders that are mostly read, it frees a lot of space and changes nothing about how they behave. Measured on copies of real folders, with every file compared afterwards:

FolderBeforeAfterSaved
node_modules (22,241 files)454 MB224 MB51%
Xcode DerivedData413 MB214 MB48%
npm cache110 MB61 MB45%
Xcode archives20 MB13 MB33%
Android SDK platforms130 MB101 MB23%
Apple's iOS SDK79 MB79 MB0%

The last row is the useful warning: data Apple already ships compressed, and dense data such as media or model weights, gains nothing. And folders whose files are shared with others, as a pnpm node_modules made of hard links is, can grow rather than shrink if they are compressed one copy at a time.

Questions

Is it safe to delete System Data on a Mac?

Parts of it. Caches, build products and old logs rebuild on their own, so deleting them costs only a rebuild. Device backups, simulators with apps on them, virtual machines and downloaded models hold things you may want. The macOS system files are on a read-only volume and are not something to try to delete.

Why does System Data come back after I clear it?

Most of what is safe to delete is a cache, and caches refill as you work: the next build recreates DerivedData, the next install refills the package cache. What does not come back is what you stopped using, such as an old simulator runtime or a finished project's build folder. That is where clearing pays for longest.

Does restarting a Mac reduce System Data?

Sometimes, by a little. A restart clears some temporary files and swap, and macOS may remove local snapshots on its own schedule. It does not touch developer caches, simulators, backups or application data, which are usually most of the total.

How much System Data is normal?

There is no normal figure, because it depends on what the Mac is used for. A Mac used for mail and browsing may hold 10 to 20 GB; a developer's Mac with Xcode, simulators and a few projects commonly holds 60 to 150 GB without anything being wrong. What matters is whether the parts are things you still use.

Why is System Data so large on a Mac with a small disk?

It is not larger, it is more noticeable. The caches and tools are the same size on a 256 GB Mac as on a 2 TB one, so they take a much bigger share of a small disk and fill it sooner.

Do cleaner apps delete System Data?

Many delete caches, which is a small part of it. The larger parts, such as simulators, build folders, models, backups and snapshots, need someone to decide, which is why a list of what is there is more useful than a single Clean button.

See your own System Data, item by item

System Data Unpacked is a free, open-source Mac app that does everything on this page for you: it measures each part of System Data, labels it Safe, Review or Manual, shows the exact command before anything runs, and can shrink folders instead of deleting them. macOS 14 or later.

Download for Mac How the app works