Free up storage
How to Find System Files on Mac Without Breaking Anything
Locate macOS system files safely. Understand what System, Library, and private folders contain — and how to find what's safe to clean from each.
System Data on a Mac is mysterious. Open Storage settings and you’ll see a bar with your apps, photos, mail, and so on — and a chunk labeled “System Data” that often takes 80-150GB without much explanation. The category covers everything macOS itself uses plus a grab bag of caches, logs, and “other.”
Finding what’s actually inside System Data requires looking at system files. Most of those files should not be touched. Some of them — caches, logs, old simulator data — can be cleaned up safely. The trick is knowing which is which.
What “system files” includes
When macOS says “System,” it’s bundling several different categories:
- macOS itself — The actual operating system files in /System and /usr. Read-only.
- System libraries — Shared resources for apps in /Library.
- Caches and logs — Both system-wide and per-user.
- iOS device backups if any are stored locally.
- Time Machine local snapshots held on your internal drive.
- Xcode and developer tools if installed.
- Various app support data classified outside the app’s main category.
Storage’s “System Data” lumps these together because Apple decided most users don’t need finer detail. For cleanup, finer detail is exactly what you need.
The major system folders
/System — macOS itself. On Sonoma and later, this is on a sealed read-only volume (Signed System Volume). You cannot modify it without disabling System Integrity Protection, which would break automatic updates and security. Don’t.
/Library — System-wide app data and configuration. Apps installed via .pkg often write here. Some cleanup possible (caches, old versions of system tools).
/private — Houses /var, /etc, /tmp. Logs, temporary files, and system configuration. Some cleanup possible but most is OS-managed.
/usr — Unix system commands. Don’t touch /usr/bin or /usr/sbin. /usr/local is for user-installed CLI tools (Homebrew, custom binaries).
/Volumes — Mount points for connected drives. Don’t manually delete from here.
~/Library — Per-user app data. This is where most actionable cleanup happens. Despite being a “user” folder, much of what’s here is system-level support data.
To explore, press Cmd+Shift+G in Finder and type the path. Or in Terminal:
du -sh /System /Library /private /usr 2>/dev/null
That shows top-level sizes for each system folder.
What you can safely clean from /Library
/Library/Caches is the safest bet. Apps installed system-wide cache here. macOS itself caches some assets. Clearing safe content:
sudo rm -rf /Library/Caches/* 2>/dev/null
Apps will regenerate caches as needed. Don’t run this if any system update is in progress — installer caches live here briefly.
/Library/Logs accumulates logs. macOS rotates them but old ones can stick around:
sudo find /Library/Logs -type f -name "*.log.gz" -mtime +30 -delete 2>/dev/null
Compressed log archives older than 30 days. Don’t delete current .log files — apps may have them open.
What you can safely clean from ~/Library
This is where most user-facing cleanup happens. Key locations:
~/Library/Caches — App caches. Most apps regenerate these automatically. Clearing them:
rm -rf ~/Library/Caches/*
Some apps store login state in caches and will need re-login. Most just rebuild silently.
~/Library/Logs — Per-user log files. Old logs can be deleted:
find ~/Library/Logs -type f -mtime +30 -delete 2>/dev/null
~/Library/Application Support/[uninstalled apps] — Folders for apps you no longer have. Manually review and remove.
~/Library/Containers/[uninstalled apps] — Same idea but for sandboxed apps.
~/Library/Developer — If you have Xcode installed. DerivedData and CoreSimulator can each be 50+ GB and regenerate as needed.
~/Library/Application Support/MobileSync/Backup — iPhone/iPad backups. Each can be 30-100GB.
Finding the biggest system folders
To see where your System Data is going, scan the top-level folders:
sudo du -sh /Library/* 2>/dev/null | sort -hr | head -20
Top 20 largest folders inside /Library.
For ~/Library:
du -sh ~/Library/* 2>/dev/null | sort -hr | head -20
For /private:
sudo du -sh /private/* 2>/dev/null | sort -hr | head -10
These commands surface where the bulk of System Data lives. Common findings:
- ~/Library/Containers — 5-30GB
- ~/Library/Application Support — 5-50GB
- /Library/Application Support — 1-10GB
- /private/var — System-managed, varies
- /Library/Developer (if Xcode installed) — Can be huge
Time Machine local snapshots
A frequent cause of mysteriously growing System Data. macOS keeps hourly snapshots of your drive locally, even when no Time Machine drive is connected. They show as Purgeable in Disk Utility but inflate System Data in some views.
List them:
tmutil listlocalsnapshots /
You’ll see entries dated by hour. To force thinning:
tmutil thinlocalsnapshots / 999999999999 4
That asks macOS to thin aggressively. The snapshots are recreated on the next backup attempt.
To delete a specific snapshot:
sudo tmutil deletelocalsnapshots [date-string]
Replace [date-string] with the snapshot date from listlocalsnapshots output.
What’s “purgeable” and why it matters
Purgeable space is files macOS could delete to free space — Time Machine snapshots, iCloud-offloadable files, some caches. Apple decides what’s purgeable based on iCloud Drive offload settings and free space pressure.
This affects how System Data appears. A 50GB folder of iCloud-offloadable content shows as System Data but is actually purgeable. Deleting manually doesn’t free more space than letting macOS purge — both result in the same available space.
The catch: purgeable content can take days to actually be purged. If you need space now, manual deletion of known content beats waiting.
Files you should never delete
Anything in /System — Sealed and protected. macOS won’t let you, but if it ever did, don’t.
Anything you don’t recognize in /Library/LaunchDaemons or /Library/LaunchAgents — These start system services. Deleting can break apps or system functions.
~/Library/Mail unless you’re sure — Your local Mail data. Re-downloading from servers takes time and may not work for accounts that no longer exist.
~/Library/Keychains — Stores all your saved passwords. Lose this and you’re starting over with credential management.
~/Library/Mobile Documents — Your iCloud Drive cache. Manual deletion gets resynced from iCloud, but if files were only on this Mac, you can lose them.
Anything in /usr/bin or /usr/sbin — Core Unix. Removing breaks Terminal commands and system services.
Using Storage Settings effectively
System Settings → General → Storage gives you an overview but limited interactivity. For more detail:
- Click “Manage” or any category
- Click into Documents → Browse Files for size sorting
- Click into “Other” / “System Data” — usually has limited info but worth a look
The “Recommendations” section there has a few useful items:
- Optimize Storage — Automatically remove TV/movie content when space gets tight
- Empty Trash Automatically — Removes Trash items after 30 days
- Reduce Clutter — Surfaces large files and old downloads
For real depth, third-party tools or Terminal-based investigation (du, find, mdfind) give you the full picture.
Daisy Disk and similar visualizers
If you want a visual map of where space goes, apps like DaisyDisk show your filesystem as concentric rings sized by content. Useful for spotting outliers (“this folder is 30% of my drive?”).
These tools require admin permission to scan system folders. They’re read-only by default — visualization only — but most have delete features built in. Be cautious deleting from system folders even with a visualizer.
A safe cleaning approach
For System Data cleanup, the safest order:
- Empty Trash (Trash files still count toward storage)
- Clear ~/Library/Caches (apps regenerate)
- Clear ~/Library/Logs older than 30 days
- Remove orphan folders from ~/Library/Application Support (apps you uninstalled)
- Remove orphan folders from ~/Library/Containers (sandboxed apps you uninstalled)
- Force-purge Time Machine local snapshots if needed
Skip cleaning /System, /usr, /private/var unless you’re confident in what you’re doing.
For most people, a cleaning tool handles all of this safely. The manual approach is good for understanding what’s happening; the automated approach is better for actually doing it.
System files on macOS look intimidating because the categories are technical and the consequences of mistakes are real. But the cleaning territory is well-defined: Library caches, logs, application support folders for uninstalled apps, and Time Machine snapshots. Stay in that lane and you can free serious space without risk.