Scenarios & devices

Small SSD Survival Guide: How to Live Comfortably on a 256GB Mac in 2026

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/_cacache or the directory reported by npm config get cache
  • Cargo (Rust): ~/.cargo/registry and ~/.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

  1. Empty the Trash and clear Downloads. Open Finder, press Shift-Command-Delete to empty Trash. Move or delete anything in ~/Downloads older than 30 days.
  2. Purge Xcode DerivedData. In Terminal: rm -rf ~/Library/Developer/Xcode/DerivedData. You lose nothing permanent — Xcode rebuilds on the next run.
  3. Remove unused simulator runtimes. In Xcode: Settings → Platforms. Delete any runtime with a minus button that you have not used recently.
  4. Prune developer caches. Run npm cache clean --force, cargo cache --autoclean (requires cargo-cache crate), and brew cleanup --prune=all in Terminal.
  5. 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.
  6. 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.
  7. Review large files. Open a Terminal and run: du -sh ~/Library/Caches/* | sort -rh | head -20 to 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=1 to your shell profile so old versions are removed after each upgrade.
  • Use shallow git clones for repos you only read. git clone --depth 1 skips 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.

Reclaim your disk in one click

Crumb audits your whole Mac, tells you what's safe to delete, and frees the space in seconds — private, local, and Apple-notarized.

Download Crumb for macOS

Frequently asked questions

Is it safe to delete ~/Library/Developer/Xcode/DerivedData?
Yes, completely safe. DerivedData contains build artifacts that Xcode regenerates automatically the next time you build a project. You will not lose source code, project files, or any settings. Deleting it may make your next build take slightly longer as Xcode recompiles from scratch.
Where does macOS store app caches, and can I delete them?
App caches live in ~/Library/Caches, with each app's data in a named subfolder. They are safe to delete — apps recreate cache files as needed. You may notice slightly slower load times for apps like Slack or Spotify on the first launch after clearing, but no data is lost.
Will enabling iCloud Optimized Storage delete my local files?
No. Optimized Storage moves older or larger files to iCloud and replaces them with lightweight placeholders on your local drive. Clicking a placeholder re-downloads the original. Your files are never permanently removed, as long as your iCloud account has sufficient storage.
How much space do Homebrew and npm caches typically use?
Homebrew's download cache (~/Library/Caches/Homebrew) commonly reaches 2–5 GB on an active developer machine. The npm cache (~/.npm/_cacache) can exceed 5–10 GB on projects with many dependencies. Running 'brew cleanup --prune=all' and 'npm cache clean --force' together often recovers 5–15 GB in one pass.
Can I move my entire home folder to an external drive to free up internal space?
Technically possible but not recommended as a primary strategy — many macOS services and sandboxed apps expect your home folder on the internal volume, and an external drive introduces a single point of failure. A better approach is to move only large asset libraries (Photos, video projects) or specific developer caches to the external drive while keeping your home folder on the internal SSD.