TidyDisk
GitHubGet the app
macOS menu bar app · free scan

A tidy disk, without thinking about it.

Dev work quietly eats your Mac: heavy node_modules, Docker images, build caches, forgotten experiments. TidyDisk watches from the menu bar and gives the space back in one click. Safely, to the Trash, never rm -rf.

MIT-licensed · macOS 13+ · Apple Silicon & Intel
FinderFileEditView
Mon 9:41
Tracked on disk
71.2 GB21.2 GB over
Projects
41.2 GB
Caches
6.4 GB
Packages7 vuln
Docker
23.6 GB
Packages6 in use
lodash
12 projects · 2 versions
unify18MB
next
5 projects · v14.2.3
↑ 15.0.1128MB
minimatch
3 projects · v3.0.4
high512KB
Reclaimed 612 MB legacy-dashboard
node_modules is the heaviest object in the known universe. But it is not alone: Docker images, build caches and dead projects pile up too. TidyDisk clears all of it.
One tool, every kind of dev junk

Four places your disk quietly fills up.

TidyDisk watches all of them and gives the space back, safely.

Projects

Heavy, stale node_modules ranked by the real bytes you would free.

41.2 GB

Caches

Your pnpm store and Docker build cache, pruned in one safe click.

6.4 GB

Packages

A machine-wide dependency inventory: version drift, duplicates, and security advisories.

7 vulnerable

Docker

Images, volumes, containers and build cache, grouped by the project they belong to.

23.6 GB
01Always watching

It watches your disk so you don't have to.

TidyDisk lives in your menu bar and rescans on your schedule: every 6 hours, daily, or weekly. A native notification slides in the moment your node_modules cross the limit you set.

  • Background scans every 6 hours, daily, or weekly
  • A threshold you set, in plain gigabytes
  • One glance at the menu bar tells you where you stand
TidyDisknow
You've crossed your limit: 5.42 GB of stale dependencies are taking up space.
02Total clarity

Every dead dependency, ranked.

Open the full launcher for a deep clean. Spotlight-style search across project names and paths, with every node_modules folder showing its real size and how long it's been since you touched it. The biggest, stalest offenders rise to the top.

  • Sort by last used, size, or project name
  • Full keyboard navigation: ↑↓ to move, ↵ to open, ⌘⌫ to delete
  • On pnpm, the real bytes you'd free, apart from what's linked into the shared store
  • Reveal in Finder or open in your editor, one key away
Search node_modules by project or path…
5.42 GB
12 folders · reclaimable
Last usedSizeName
legacy-dashboard
~/Code/clients/acme/legacy-dashboard
1 year ago
612MB
portfolio-2021
~/Sites/portfolio-2021
1 year ago
284MB
hackathon-bot
~/Code/experiments/hackathon-bot
9 months ago
441MB
recipe-app-old
~/Code/personal/recipe-app-old
7 months ago
903MB
marketing-site
~/Work/marketing-site
4 months ago
538MB
svelte-playground
~/Code/experiments/svelte-playground
2 months ago
209MB
03Safe payoff

One click. Gigabytes back. Nothing lost.

Pick what you don't need and it goes to the Trash. No terminal, no rm -rf roulette, recoverable until you empty it. Watch the meter drop and your free space climb. Need a project again? A single npm install brings it right back.

  • Deletes to the Trash: recoverable, never rm -rf
  • Delete one folder or sweep all the stale ones at once
  • Only ever touches node_modules, never your source
Before5.42 GB
After2.71 GB
+ 2.71 GB reclaimed in one sweep
04Whole-machine view

Every package you've installed, in one list.

Open the Packages tab for a computer-wide inventory of every dependency your projects pull in: how many use it, its size, the versions you're on, the latest on npm, and any security advisories. Spot the heavy and unused, unify versions that have drifted apart, and see what's flagged, all from projects you've already scanned.

  • How many projects use each package, and its real size
  • A unify badge when one package is installed at several versions
  • Latest-on-npm and security-advisory pills. Expand a row for per-version severity
ProjectsCachesPackages
142 packages · whole machine
UsedSizeUpdates
lodash
14 projects · 3 versions
unify22MB
typescript
9 projects · v5.4.2
↑ 5.7.261MB
minimatch
6 projects · v3.0.4
high480KB
react
11 projects · v18.3.1
3.4MB
05Beyond node_modules

Your Docker disk, grouped by project.

Docker quietly hoards gigabytes in images, volumes, containers and build cache. Open the Docker tab to see it grouped by the project each resource belongs to, with real logos, sizes and in-use badges. Reclaim dangling images, stopped containers and unused volumes in a click, with the same safe confirmations as the rest of TidyDisk.

  • Images, volumes, containers and build cache, each with its real size
  • Resources grouped by project from Compose labels and used-by links
  • Safe, typed confirmations before anything is permanently removed
ProjectsCachesDocker
23.6 GB · grouped by project
🐳
api-gateway
2 images · 1 volume · 1 container
9.4GB
🐘
postgres-dev
1 image · 2 volumes
6.1GB
Not linked to a project
dangling images · build cache
8.1GB
Everything in one menu

Small app. Big relief.

Your scans stay on your Mac. Anonymous usage analytics only, with a one-click opt-out in Settings. A quiet utility that keeps your disk honest.

Prune the pnpm store

Reclaim the shared store's dead versions with one safe click. It never deletes the store itself.

Real vs linked sizing

On pnpm, see the bytes you'd actually free apart from what's linked into the shared store.

Security advisories

A severity pill on any package with a known vulnerability, from the npm advisory database.

Scheduled scans

Runs every 6 hours, daily, or weekly, entirely in the background.

Threshold alerts

Set a limit in gigabytes and get nudged the instant you cross it.

Pixel disk meter

A glanceable bar that fills and reddens as your dependencies pile up.

Reveal in Finder

Jump straight to any project folder without leaving the keyboard.

Open in your editor

One keystroke launches the project in the editor you already use.

Framework detection

React, Next, Vue, Svelte, Node, Expo: each project, correctly tagged.

Coming soon

Next up: npm, yarn & bun caches, plus per-project build outputs like .next and dist.

Why it piles up

The node_modules lifecycle.

Every install writes your dependencies to disk. How much they pile up, and how much you can win back, comes down to your package manager.

npm · yarna full copy per project

Each project gets its own full copy of every dependency. Install lodashin ten projects and it's written to disk ten times. Multiply that across hundreds of transitive packages and the old projects you forgot about, and you're tens of gigabytes deep.

pnpmone shared store

pnpm keeps one global store and hard-links each project into it. A given version of a package lives on disk once, no matter how many projects use it, a huge saving. But the store still grows as new versions land and old ones linger.

TidyDisk works both ends: it trashes the stale project node_modules you'll never npm install again, and safely prunes your pnpm store of versions nothing links to anymore, one click in the Caches tab (it never deletes the store itself).

It's also why sizes look small on pnpm: TidyDisk counts the shared store onceand shows you what's really yours to free, not the same bytes linked into a dozen projects.

How it works

Three steps to a lighter Mac.

01

Get it & it scans

Download the signed .app, or clone the repo and build your own. The first scan maps every node_modules folder on your disk.

$pnpm install && pnpm package
02

Set your limit

Pick a threshold in gigabytes and how often to rescan: every 6 hours, daily, or weekly. That's the entire setup.

limit 5 GB · scan daily
03

Clean in a click

When you cross the line, review the stale folders (or prune the pnpm store, or audit a heavy package) and reclaim the space. Your disk thanks you.

2.71 GB moved to Trash
Download

Free to scan. 19 euros to clean.

The scan is free forever and the source is MIT on GitHub. One-click cleanup is a one-time lifetime license: founding price 19 euros, then 29 after launch. 30-day money-back, no questions.

$0 · Scan everything
The scan, free forever.
  • Download and run, no setup required
  • See every node_modules folder, cache, and package on your machine
  • No account, ever
Download for macOS
Founding price
€19 · Lifetime cleanup
One-time license, unlocks cleanup for life.
  • One-click delete, straight to the Trash
  • Clean stale: sweep every stale node_modules at once
  • Prune your pnpm store, one click
  • All future updates included
  • Instant license key, delivered via Polar
  • Founding price: 19 euros now, 29 euros after launch
Buy TidyDisk · €19

Stop hoarding
node_modules.

Reclaim the gigabytes your dependencies have been hoarding. Scan free, unlock cleanup for 19 euros.