PrelaunchDiskKind is in development. The download opens once Apple has checked the app.Try it with a sample Mac

Clear Xcode, npm and Homebrew caches on a Mac, safely

Each tool has its own command, and each cache refills as you work. Clear what a tool makes again, keep what you cannot rebuild, and let Docker clean up after itself.

A tool makes it againBuild output you can rebuildYours to keep
Docker disk image38.4 GB
Xcode build cache18.4 GB
target folders, 3 projects14.6 GB
Simulators12.1 GB
node_modules, 8 projects11.2 GB
Simulator runtimes no Xcode uses9.6 GB
Device support files6.3 GB
npm cache3.1 GB
Homebrew downloads2.4 GB
pnpm store1.9 GB
pip cache1.2 GB
Where the space goes on a sample developer Mac, measured by DiskKind.

Found by the tools that made them, wherever they sit on the disk.

XcodenpmpnpmHomebrewpipCargoYarnCocoaPodsGradleFlutterAndroid StudioDocker

Every tool, its own way to clean up

Use the tool's own command where there is one. It knows what is safe better than any cleaner.

WhatThe tool's own wayWhat changes
Xcode build cache~/Library/Developer/Xcode/DerivedDataIn Xcode, Settings, then Locations, then the arrow beside Derived Data; quit Xcode and remove the folder's contents.The next build of each project takes longer, once.
Old simulators~/Library/Developer/CoreSimulatorxcrun simctl delete unavailableSimulators for runtimes you no longer have are removed.
Device support files~/Library/Developer/Xcode/iOS DeviceSupportRemove the folders for iOS versions your devices no longer run.Xcode copies them again when a device on that version connects.
npm cache~/.npm/_cacachenpm cache clean --forcePackages download again on the next install.
pnpm store~/Library/pnpm/storepnpm store pruneOnly packages no project uses are removed.
Homebrew downloads~/Library/Caches/Homebrewbrew cleanupOld versions and downloaded bottles are removed.
pip cache~/Library/Caches/pippip cache purgeWheels download again when needed.
Cargo build outputtarget/ in each projectcargo clean in the projectThe next build compiles from scratch.
Docker disk image~/Library/Containers/com.docker.dockerdocker system prune, inside DockerStopped containers and unused images go. Your volumes stay unless you add --volumes.

What DiskKind adds to the commands

The commands clear one tool at a time. DiskKind shows them all at once, with the space each would really give back.

Every tool, in one scan

It recognises these folders by the tools and project files that own them, wherever they sit on the disk.

What would really come back

Each item shows its size on disk beside the space you would get back, so shared blocks never inflate the number.

Shown, never suggested

Docker's image, your simulators and anything holding your work are listed with no button. The rest moves to the Trash.

Questions developers ask

Is it safe to delete DerivedData?

Yes. Xcode rebuilds it the next time you build. The first build of each project takes longer, once.

Is it safe to clear the npm cache?

Yes. npm downloads packages again as you install them. Run npm cache clean --force.

Why is Docker using so much space on my Mac?

Docker Desktop keeps every image, container and volume inside one disk image that grows as you work. Clean it up inside Docker, for example with docker system prune, which removes stopped containers and unused images.

Can I delete node_modules?

Yes, in projects you can reinstall. Run npm install or your package manager's install command to get it back.

Find every developer cache at once.

DiskKind knows Xcode, npm, pnpm, Homebrew, pip, Cargo, Gradle and Docker by the folders they keep.

The DiskKind app icon