Why does my Mac's storage keep filling up so fast?
If you clear 20 GB and it's gone again next week, something is silently generating files. Here's what.
You free up 20 GB, breathe a sigh of relief, and a week later you’re back to “Your disk is almost full.” Something on your Mac is silently generating files. Here are the usual suspects and how to find which one is yours.
Suspect 1: iCloud sync
If you have iCloud Photos or iCloud Drive set to “Download Originals” / “Keep Files Here,” every new photo, document, or shared file gets pulled to your local disk automatically.
Fix:
- Photos > Settings > iCloud > Optimize Mac Storage.
- iCloud Drive: System Settings > Apple ID > iCloud > iCloud Drive > Options. Turn off any apps syncing to your Mac that you don’t need.
Suspect 2: Photos imports
Every time you plug in your phone or camera, you may be re-importing photos. The Photos app deduplicates, but third-party import workflows often don’t.
Check Photos library size:
du -sh ~/Pictures/Photos\ Library.photoslibrary
If it’s growing faster than expected, Optimize Mac Storage is your friend.
Suspect 3: Time Machine local snapshots
macOS takes hourly local snapshots when your Time Machine drive isn’t connected. They auto-purge when space is needed, but until then they count as used space.
tmutil listlocalsnapshots /
Each snapshot is typically 5–20 GB. Just keep using your Mac and macOS will manage them.
Suspect 4: Xcode
If you compile anything with Xcode (or any toolchain that uses derived data):
du -sh ~/Library/Developer/Xcode/DerivedData
du -sh ~/Library/Developer/Xcode/iOS\ DeviceSupport
DerivedData can grow by 1–5 GB per project per week. Safe to clear:
rm -rf ~/Library/Developer/Xcode/DerivedData/*
Suspect 5: Docker and VMs
Docker keeps a single disk image that grows monotonically:
du -sh ~/Library/Containers/com.docker.docker/Data/vms/
Reset it via Docker Desktop > Preferences > Resources > “Disk image size.”
VMware/Parallels/UTM disk images live in or /Documents/Virtual Machines and grow as the VM uses space.
Suspect 6: Mail attachments
Every email you open with an attachment caches it locally:
du -sh ~/Library/Containers/com.apple.mail/Data/Library/Mail\ Downloads/
Fix: Mail > Settings > Accounts > Advanced > “Download Attachments: None” or “Recent.”
Suspect 7: Logs and analytics
Niche but possible. Some apps write verbose logs:
du -sh ~/Library/Logs/* 2>/dev/null | sort -h | tail -10
Suspect 8: Duplicates accumulating
This is the silent one. Every photo you import twice. Every PDF you save to Downloads and then move to Documents. Every project you copy. Each is small, but they compound. Over a year you can accumulate 5–15 GB of pure duplication.
Download Dupe for a periodic sweep. It SHA-256 hashes every file, finds byte-identical duplicates, and moves them to the Trash. Run it once a month and you’ll see exactly which workflow is generating dupes. $14.99 once, never permanent deletes, never touches system files.
More Dupe tips
-
Apple Photos Duplicates album — what it catches and what it misses
The Photos app Duplicates album is handy, but it has real limits. Here's what it finds, what it doesn't, and how to fill the gaps.
-
Clean up leftover files from uninstalled apps on Mac
Dragging an app to the Trash doesn't remove all its data. Here's where the leftovers live and how to clean them.
-
Clean up your Mac without buying a cleaner app
Most paid cleaner apps do things macOS already does. Here's a free, manual workflow that's just as effective.
-
A no-bullshit guide to cleaning up your Mac's disk
Skip the SEO bait and the sketchy cleaner apps. Here's what actually works to reclaim disk space on a Mac.