Time Machine is a reliable safety net, but it backs up everything by default — including multi-gigabyte virtual machine disks, ephemeral caches, and dependency folders that can be re-downloaded in minutes. Knowing how to exclude folders from Time Machine gives you faster backups, smaller local snapshots, and more breathing room on both your Mac and your backup drive.
Why Exclusions Matter: Local Snapshots and Backup Size
When a backup drive is not connected, Time Machine stores local snapshots directly on your startup disk. These snapshots are listed as "System Data" in System Information and can quietly consume tens of gigabytes. Every folder you exclude reduces how much data flows into those snapshots, which in turn reduces the space they occupy on your internal drive.
Exclusions also speed up the hourly backup cycle. Time Machine skips excluded paths during its file-system scan, so large, frequently-changing folders — like an active node_modules tree or a running virtual machine — no longer trigger long backup passes.
How to Exclude Folders via System Settings
This method works on macOS Ventura (13) through macOS Sequoia (15) and beyond. The screens changed in Ventura but the underlying behavior is identical.
- Open System Settings (Apple menu → System Settings).
- Click General in the sidebar, then select Time Machine.
- Click Options… (or the + button under "Exclude from Backups" if you see that list directly).
- In the sheet that opens, click the + button.
- Navigate to the folder you want to exclude and click Exclude.
- Click Save when finished.
The folder is added to your exclusion list immediately. The next Time Machine pass will skip it, and if that folder was already in a previous backup it will be removed from future incremental passes (it will not be scrubbed from existing snapshots retroactively).
How to Exclude Folders via Terminal (tmutil)
tmutil addexclusion is the command-line approach. It is useful for scripting, for excluding paths that are buried deep in the file hierarchy, or for excluding paths on behalf of an application during setup.
# Exclude a single folder (user-level, "sticky" exclusion)
tmutil addexclusion ~/Library/Caches
# Exclude a path system-wide (requires sudo)
sudo tmutil addexclusion /opt/homebrew
# Verify what is currently excluded
tmutil exclusionlist
The -v (volume) flag attaches the exclusion to a volume rather than a specific path — useful for external drives you never want backed up. Without flags, the exclusion is "path-based": it follows the folder wherever it lives.
To remove an exclusion:
tmutil removeexclusion ~/Library/Caches
Which Folders Are Worth Excluding?
Not every exclusion is equally safe. Some folders contain files that are easy to regenerate; others hold data you genuinely need. Here is a practical breakdown:
| Folder | Typical size | Safe to exclude? | Notes |
|---|---|---|---|
~/Library/Caches |
1–20 GB | Yes | App caches rebuild automatically. Excluding saves significant backup churn. |
/Library/Caches |
0.5–5 GB | Yes | System-wide caches, regenerated on demand. |
~/Downloads |
Varies | Your call | Exclude only if you treat Downloads as a staging area and not long-term storage. |
node_modules (any project) |
100 MB–3 GB each | Yes | Fully reproducible with npm install. Back up package-lock.json instead. |
.venv / venv (Python) |
50 MB–1 GB | Yes | Recreate from requirements.txt. No value in backing up binaries. |
Virtual machine disks (.vmwarevm, .utm, .vhdx) |
10–100+ GB | Situational | Huge and change constantly. Exclude if the VM is ephemeral; keep if it holds irreplaceable work. |
~/Library/Developer/Xcode/DerivedData |
5–30 GB | Yes | Build artifacts. Xcode regenerates them; no need to back up. |
~/Library/Developer/CoreSimulator/Devices |
5–50 GB | Yes | Simulator runtimes. Re-downloadable from Xcode. |
~/.Trash |
Varies | Yes | Trash is already excluded by macOS by default on most systems. |
~/Library/Mail |
1–50 GB | No — keep backed up | Mail data is not trivially re-downloadable if your server has a retention limit. |
~/Documents, ~/Desktop |
Varies | No — keep backed up | Core user data. Excluding these defeats much of the purpose of Time Machine. |
Finding Your Biggest Backup Candidates
Before you start excluding paths at random, it pays to know which folders are actually consuming the most space. Crumb's treemap view gives you an interactive disk map of your entire Mac — you can drill into any folder to see exactly how many gigabytes it holds, then decide whether that folder belongs on your Time Machine exclusion list or not. It is a faster way to find the multi-gigabyte surprises (old simulator runtimes, forgotten VM images, a node_modules tree from a project you abandoned two years ago) than digging through Finder manually.
Once you have identified the candidates, add them to your exclusion list using the steps above, then let Time Machine complete its next hourly pass. You will see the backup duration drop noticeably if you have excluded something large and frequently modified.
Shrinking Existing Local Snapshots
Adding exclusions prevents future data from entering snapshots, but it does not immediately reclaim space from snapshots that already exist. To delete old local snapshots manually:
# List all local snapshots
tmutil listlocalsnapshots /
# Delete a specific snapshot by date (example)
sudo tmutil deletelocalsnapshots 2026-05-15-120000
# Delete ALL local snapshots (use with care — this removes your local safety net)
sudo tmutil deletelocalsnapshots /
macOS will also delete old local snapshots automatically when your startup disk fills up, but waiting for that to happen is not ideal. If you need the space now, the command above is safe to run — your next Time Machine backup to the external drive will continue normally.
A Note on What Not to Exclude
It is tempting to exclude large library folders wholesale, but some of them contain irreplaceable data. Never exclude:
~/Library/Keychains— your passwords and certificates~/Library/Application Support— app databases, save files, preferences (exclude individual sub-folders if needed, not the parent)~/Pictures/Photos Library.photoslibrary— unless your photos are backed up elsewhere- Any folder containing active project files that are not in version control
Cleaning and exclusion are permanent operations. When in doubt, keep something backed up. The goal of exclusions is to remove the reproducible data — caches, build artifacts, downloaded packages — not to strip your backup of the data that actually matters.
Putting It Together
A solid exclusion strategy takes about ten minutes to set up. Open System Settings, exclude the obvious regenerable folders from the table above, then use tmutil addexclusion for any deeply nested project directories (like node_modules inside a monorepo). If you want to audit your disk before deciding, download Crumb and use the treemap to surface the largest folders in one pass. After your next Time Machine backup completes, check the backup log — you will likely see both a shorter backup time and a smaller incremental size.