A 256 GB SSD feels spacious until macOS Sequoia, Xcode, a few creative apps, and a year of miscellaneous downloads quietly consume most of it. The good news is that with the right small SSD mac tips, you can stretch that storage surprisingly far — without resorting to external drives for everyday work. This guide covers the real culprits, the safe cuts, and the habits that keep a tight disk breathing room.
How Quickly Does a 256 GB Mac Fill Up?
Fresh out of the box, macOS itself claims roughly 15–20 GB. A handful of popular apps, a few months of caches, and developer tooling can push you past 200 GB before you realize it. Here's a realistic snapshot of where storage goes on a typical developer or creative machine:
| Category | Typical size | Notes |
|---|---|---|
| macOS system + recovery | 15–20 GB | Varies by update; Sequoia/Tahoe around 15 GB clean |
| Applications | 20–60 GB | Xcode alone is 12–15 GB; Adobe apps stack fast |
| Xcode DerivedData & simulators | 10–50 GB | Grows silently with every build; simulators are 3–8 GB each |
| Developer caches (npm, cargo, Maven) | 5–30 GB | Accumulates across projects over months |
| Photos & video | 10–80 GB | iCloud Optimized Storage helps substantially |
| User caches & logs | 2–10 GB | ~/Library/Caches — safe to purge selectively |
| Trash & downloads | 1–20 GB | Often forgotten; easy wins |
The Biggest Hidden Space Hogs
Apple's storage inspector (Apple menu → System Settings → General → Storage) gives you a high-level chart, but it lumps a lot into "System Data". The real culprits worth investigating are listed below.
Xcode DerivedData
Every Xcode build drops artifacts into ~/Library/Developer/Xcode/DerivedData. Abandon a project, start a new one — the old folder stays. Ten stale projects can silently consume 30 GB or more. It is completely safe to delete any subfolder here; Xcode rebuilds on demand. For a deeper look, see why Xcode takes up so much space.
iOS & watchOS Simulators
Simulator runtimes live at ~/Library/Developer/CoreSimulator/Cryptex/Images (Xcode 15+). Each runtime runs 3–8 GB. You can manage them inside Xcode under Settings → Platforms and remove any platform you are not actively targeting.
Developer Package Caches
- npm / pnpm:
~/.npm/_cacacheor the directory reported bynpm config get cache - Cargo (Rust):
~/.cargo/registryand~/.cargo/git - Maven (Java):
~/.m2/repository - Gradle:
~/.gradle/caches - Homebrew: cached downloads at
$(brew --cache), usually~/Library/Caches/Homebrew
For node_modules sitting inside old project folders, the guide on cleaning up node_modules on Mac walks through finding and deleting them safely.
Application Caches and Support Files
App caches accumulate at ~/Library/Caches. Common offenders: Slack (can grow past 2 GB), Spotify (offline tracks cache), Chrome and Safari (disk cache for web content), and Figma's local component cache. These are safe to delete — apps rebuild them on next launch, usually within a session.
How to Reclaim Space Step by Step
- Empty the Trash and clear Downloads. Open Finder, press Shift-Command-Delete to empty Trash. Move or delete anything in
~/Downloadsolder than 30 days. - Purge Xcode DerivedData. In Terminal:
rm -rf ~/Library/Developer/Xcode/DerivedData. You lose nothing permanent — Xcode rebuilds on the next run. - Remove unused simulator runtimes. In Xcode: Settings → Platforms. Delete any runtime with a minus button that you have not used recently.
- Prune developer caches. Run
npm cache clean --force,cargo cache --autoclean(requirescargo-cachecrate), andbrew cleanup --prune=allin Terminal. - Enable iCloud Optimized Storage. Apple menu → System Settings → [Your Name] → iCloud → turn on Optimize Mac Storage. macOS keeps full-resolution originals in iCloud and downloads on demand.
- Audit app leftovers. Dragging an app to Trash leaves support files behind in
~/Library/Application Support,~/Library/Preferences, and~/Library/Caches. A tool like Crumb can audit all of these at once and show what's safe before you delete. - Review large files. Open a Terminal and run:
du -sh ~/Library/Caches/* | sort -rh | head -20to rank cache folders by size. Do the same for~/Library/Application Support.
Smart Habits That Prevent the Squeeze
Recovery is satisfying, but prevention is cheaper. These practices keep a 256 GB disk from silently filling again:
- Set Homebrew to auto-clean. Add
export HOMEBREW_INSTALL_CLEANUP=1to your shell profile so old versions are removed after each upgrade. - Use shallow git clones for repos you only read.
git clone --depth 1skips the entire commit history and can save hundreds of megabytes on large monorepos. - Delete stale Docker images monthly. Run
docker system prune -a(with Docker Desktop quit first) to remove images and build cache. Docker's storage can balloon past 20 GB unnoticed. - Archive completed project node_modules. Before archiving a project folder, delete its
node_modules:find ~/Projects -name node_modules -maxdepth 3 -type d -prune -exec rm -rf {} +(adjust the path and depth to your structure). - Keep your Downloads folder on a 30-day rule. Anything older than a month either goes to the appropriate project folder or gets deleted. A calendar reminder costs nothing.
iCloud, Offloading, and External Storage Strategy
On a tight SSD, iCloud Optimized Storage is not optional — it's essential. macOS offloads files it hasn't accessed recently to iCloud and marks them with a cloud badge. The original file remains accessible; a single click re-downloads it on demand over Wi-Fi.
For truly large assets (video projects, virtual machine disks, archived datasets), an external SSD connected over USB-C or Thunderbolt is the cleanest solution. A modern 1 TB USB-C SSD fits in a pocket and delivers speeds fast enough for most work. Keep your active project tree on the internal drive; archive finished work externally.
Checking What Is Actually Using Space
macOS's built-in inspector surfaces the broad categories, but it can't tell you which specific folder inside "System Data" is the real culprit. For that you have a few options:
- Terminal one-liner:
du -sh /* 2>/dev/null | sort -rh | head -15— ranked list of top-level directories by size. - Disk Utility (View → Show All Devices): Shows APFS container utilization, useful for confirming the reported free space matches reality after purging caches.
- System Settings → General → Storage: Hover each bar segment for a tooltip; click Storage Settings for recommendations macOS has already identified.
When 256 GB Is a Hard Limit: Realistic Expectations
Some workflows genuinely need more storage. Video editing with ProRes footage, running multiple local VMs, or maintaining a large local Postgres dataset with gigabyte-scale tables — these will strain any 256 GB machine regardless of how carefully you manage caches. If you consistently hit 90%+ utilization after cleaning, the honest answer is a combination of iCloud, an external drive, and a network-attached storage device for project archives.
For most knowledge workers, designers, and light-to-moderate developers, though, the steps above reclaim enough space to work comfortably for another year or two. The key insight is that most wasted space on a Mac accumulates silently in caches and build artifacts — and none of it is precious.