Time Machine & local backups

How to Exclude Folders from Time Machine Backups

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.

  1. Open System Settings (Apple menu → System Settings).
  2. Click General in the sidebar, then select Time Machine.
  3. Click Options… (or the + button under "Exclude from Backups" if you see that list directly).
  4. In the sheet that opens, click the + button.
  5. Navigate to the folder you want to exclude and click Exclude.
  6. 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.

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

Does excluding a folder from Time Machine delete it from existing backups?
No. Adding a folder to the exclusion list prevents it from being included in future backups, but it does not remove the folder from snapshots or backups that have already been made. Those old copies remain until Time Machine's normal rotation or manual deletion removes them.
What is the difference between a Time Machine exclusion and deleting local snapshots?
An exclusion tells Time Machine not to back up a specific path going forward. Local snapshots are temporary backup copies stored on your startup disk when no external drive is connected. You manage them separately with tmutil deletelocalsnapshots. Exclusions reduce future snapshot growth; deleting snapshots reclaims space from existing ones.
Is it safe to exclude ~/Library/Caches from Time Machine?
Yes. The Caches folder holds temporary data that applications regenerate automatically. Excluding it from backups does not harm your Mac or your apps, and it can meaningfully reduce backup size and duration.
How do I find which folders are taking up the most space before deciding what to exclude?
A disk visualization tool like Crumb can show you a treemap of your entire drive, making it easy to spot large folders like old Xcode DerivedData, simulator runtimes, or abandoned node_modules trees before you decide what to exclude.
Can I exclude node_modules folders inside multiple projects at once?
Not directly through System Settings — you would need to add each project's node_modules path individually. With tmutil addexclusion you can script this across multiple projects. A common pattern is to add a tmutil addexclusion call to your project setup script so new projects are excluded automatically.