If your MacBook Air 512GB is filling up faster than you expected, you are not alone. Apple Silicon MacBook Airs — the M1, M2, M3, and M4 models — are exceptional machines, but 512 GB can feel tight once macOS Sequoia (or Tahoe), large apps, and accumulated data settle in. This guide breaks down exactly where your storage goes, which buckets are safe to drain, and how to recover meaningful space without risking anything you need.
Why 512 GB Feels Smaller Than It Sounds
A freshly formatted 512 GB drive loses roughly 20–30 GB to macOS itself: the system volume, recovery partition, and swap space. On top of that, macOS reserves headroom for virtual memory and Time Machine local snapshots. By the time you open the box and install a handful of apps, you may already be working with an effective 440–460 GB. Every macOS major upgrade also leaves behind a ~/.Trash and staged IPSW files that are easy to overlook.
The Biggest Storage Offenders on a MacBook Air
Before you delete anything, open Apple menu > System Settings > General > Storage to see the at-a-glance breakdown. The categories macOS shows — Applications, Documents, Photos, System Data, and Other — are a starting point, but the real detail is buried in subfolders. Here is where the gigabytes actually live:
| Category | Typical Size Range | Key Paths |
|---|---|---|
| macOS system & recovery | 15–25 GB | System volume (read-only, sealed) |
| Time Machine local snapshots | 10–80 GB | Managed by APFS; reclaimed automatically when needed |
| Xcode & developer tools | 15–60 GB | ~/Library/Developer/Xcode/DerivedData, ~/Library/Developer/CoreSimulator/Devices |
| Application caches | 5–30 GB | ~/Library/Caches, /Library/Caches |
| Package manager artifacts | 5–50 GB | ~/.cargo, ~/.m2/repository, ~/Library/Caches/Homebrew, node_modules |
| iOS / iPadOS device backups | 5–50 GB each | ~/Library/Application Support/MobileSync/Backup |
| Photos & video libraries | 10–200+ GB | ~/Pictures/Photos Library.photoslibrary |
| Downloads & duplicates | Varies widely | ~/Downloads, scattered across Desktop and Documents |
How to Check What Is Actually Using Your Space
The built-in storage panel gives broad categories, but for folder-level detail you need a bit more. Open Terminal and run:
du -sh ~/Library/Caches/*
That command prints the size of every subfolder inside your user caches directory. Similarly:
du -sh ~/Library/Developer/Xcode/DerivedData
will tell you exactly how heavy your Xcode build cache has grown. For a full top-level view of your home folder:
du -shx ~/* | sort -rh | head -20
This ranks your top 20 largest home-directory items by size. If you would rather not type commands, a tool like Crumb can audit all of these at once and show what is safe before you delete anything.
How to Free Up Space Step by Step
Work through these in order — earlier steps are safer and faster; later steps require more judgment.
- Empty the Trash. Go to Finder > Empty Trash. macOS moves deleted files to
~/.Trashand does not reclaim that space until you empty it. - Clear user application caches. In Terminal:
rm -rf ~/Library/Caches/*. Apps will rebuild their own caches on next launch. Do not delete/Library/Caches(system-level) without inspection. - Delete Xcode DerivedData. If you use Xcode, run:
rm -rf ~/Library/Developer/Xcode/DerivedData. Xcode regenerates this on the next build. See why Xcode takes up so much space for a deeper breakdown of simulator runtimes and archives. - Purge iOS device backups you no longer need. Open Finder, click your iPhone or iPad in the sidebar, then click Manage Backups. Delete any backup for a device you no longer own or that is already backed up to iCloud.
- Clean package-manager caches.
- Homebrew:
brew cleanup --prune=all - npm:
npm cache clean --forceand audit orphanednode_modulesfolders - Cargo (Rust):
cargo cache -a(requires thecargo-cachecrate) or manually remove~/.cargo/registry/cache - Maven: inspect and prune
~/.m2/repositorymanually or withmvn dependency:purge-local-repository
- Homebrew:
- Offload or delete large media. Move video projects, raw photo collections, or disk images to an external SSD or cloud storage. Apple Photos can use Optimize Mac Storage (Photos > Settings > iCloud) to keep full-resolution originals in iCloud while storing space-saving proxies locally.
- Remove duplicate files. Duplicates in Downloads, Desktop, and project folders can silently consume tens of gigabytes. A file-deduplication tool or a simple Finder sort-by-name sweep can surface them quickly.
- Uninstall apps you no longer use. Dragging an app to the Trash leaves behind support files in
~/Library/Application Supportand~/Library/Preferences. Use a proper uninstaller to remove those remnants.
System Data: The Mysterious Gray Bar
"System Data" in the macOS storage panel is a catch-all for anything macOS cannot classify into a named bucket — virtual memory swap files, Time Machine local snapshots, log files, and other system-managed content. A large System Data reading is almost never a sign that something is wrong; most of it is reclaimed automatically when macOS needs the space. If it consistently stays above 30–40 GB, check for oversized log files at /var/log and crash reports at ~/Library/Logs and /Library/Logs. For a full explanation of this category, read our guide on what System Data means in Mac storage.
Local Time Machine Snapshots
APFS stores local Time Machine snapshots even when no external drive is connected. These snapshots let you recover files even without your backup disk. macOS automatically deletes them when free space runs low, so you generally do not need to delete them manually. If you want to free the space right now, run tmutil deletelocalsnapshots / in Terminal to remove all local snapshots at once.
Developer Machines: Where Space Goes Extra Fast
If you write code, your MacBook Air has extra storage pressure from tools that accumulate artifacts silently over months. A few of the worst offenders:
- Xcode Simulator runtimes — each iOS or watchOS runtime can be 6–12 GB. Manage them in Xcode > Settings > Platforms.
- Docker images and volumes — stored in
~/Library/Containers/com.docker.docker. Rundocker system prune -ato remove unused images and build cache. - node_modules folders — accumulate in every JavaScript project. Running
npx npkillinteractively finds and removes them across your entire home directory. - Rust build artifacts —
target/directories inside each Rust project can each reach several gigabytes. Runcargo cleanin each Rust project you are not actively building.
Keeping 512 GB Healthy Long Term
Reactive cleanup is exhausting. A few habits keep space from disappearing unnoticed:
- Schedule a monthly sweep of
~/Downloads— anything older than 30 days you have not opened is usually safe to delete. - Set Homebrew to auto-clean:
brew autoupdateor addHOMEBREW_CLEANUP_DAYS=30to your shell profile. - Use iCloud Drive's Optimize Mac Storage option so documents you have not opened recently are stored in the cloud instead of locally.
- After major Xcode updates, revisit
~/Library/Developer/Xcode/DerivedDataand~/Library/Developer/CoreSimulator/Devices— old simulator devices from a previous iOS version are never cleaned up automatically. - Treat a consistent reading below 15–20 GB free as a warning sign: macOS performance degrades noticeably when the startup disk is nearly full because virtual-memory swap and system operations compete for the same NAND flash.