Dustloft
⚠ Your Mac is not telling you the whole story

You’re about to pay for storage you already own.

Dustloft is a free, open-source macOS app that shows what is hidden inside the storage macOS labels System Data, and reclaims it. Macs routinely hold 50–200 GB there, and macOS gives you no way to look inside. Dustloft measures it in about two minutes, then lists every item with its full path and real size before anything is removed.

curl -fsSL https://raw.githubusercontent.com/kapil303196/dustloft/main/install-online.sh | bash
Takes about 10 seconds· Universal — Apple Silicon & Intel· or download the DMG

Free forever · Open source · No account · Your files never leave your Mac · See what it finds first

What Finder tells you494 GB drive · 96% full
System Data — 187 GB. That’s all you get.
Media 92
Deps 46
Builds 20
Models 16
Docker 14
Xcode 13
Messaging media 92 GB Dependencies 46 GB Build output 20 GB Local AI models 16 GB Docker 14 GB Orphaned Xcode 13 GB
195 GBhanded back on the Mac this was built from, in one session
2 minfrom install to knowing exactly where your space went
$0forever. No subscription, no upsell, no ads

What is “System Data” actually made of?

It isn’t one thing. macOS files anything it can’t categorise under that label, then gives you no way to look inside. These are the things that quietly fill a drive — every one a category Dustloft scans.

  1. A forgotten screen recordingup to 500 GB
    Started by accident, never stopped
  2. Video editing scratch caches100–500 GB
    After Effects, Premiere, Resolve
  3. Docker disk image40–300 GB
    Defaults to eating all free space
  4. Virtual machines & emulators20–120 GB
    Parallels, UTM, Android images
  5. Leftovers from deleted apps10–100 GB
    Uninstalling never removes these
  6. Messaging app media50–100 GB
    Every photo anyone ever sent you
  7. Old iPhone backups10–80 GB
    One per device, kept forever
  8. Developer dependencies10–50 GB
    node_modules, venvs, package stores

Each bar spans the range commonly reported for that category in public macOS support threads. Dustloft reports what is actually on your disk — measured, never estimated.

The expensive way, and the free one

When a Mac fills up, the default answer is to pay — for a bigger machine, or for cloud storage every month, forever. Both are reasonable. Both are worth trying second.

Buy your way out

$200+

A storage upgrade is configured at purchase and can never be changed afterwards. Cloud storage is a subscription you keep paying for as long as the files exist. Neither tells you what was filling the disk in the first place.

Look first

Free

Two minutes to find out whether the space you’re about to buy is already sitting on your disk under a label macOS won’t explain. If it isn’t, you’ve lost two minutes. If it is, you’ve saved the upgrade.

Fast is easy. Not destroying anything is the hard part.

Everything Dustloft finds is sorted into three tiers, and the tier decides how much friction sits between you and the delete button. See the complete list of what it refuses to touch.

Regenerable

Caches, build output, dependencies, Docker images. Comes back on its own. This is all Quick Clean will ever touch.

Needs admin

Safe, but macOS wants your password. Every such item is batched into one prompt instead of one per file.

Permanent

Gone forever. Never bulk-selected, never in Quick Clean, gated behind a confirmation you tick yourself.

Four things it flatly refuses to do

  • Delete a .git directory. It offers git gc instead, and flags in red any repository whose history exists nowhere but your disk.
  • Touch Dropbox, iCloud Drive or any synced folder. A delete there propagates to every device you own. Not overridable.
  • Remove Docker volumes. Unused images, yes. The volumes holding your databases, never.
  • Claim it can reclaim “purgeable” space. No third-party app reliably can. Anyone promising it is overpromising.

Dustloft at a glance

What it isA macOS app that measures what is inside “System Data” and reclaims it
PriceFree. No subscription, no account, no ads, no upsell
LicenceMIT
RequiresmacOS 13.0 or later
ArchitectureUniversal binary — Apple Silicon and Intel, verified in CI with lipo
InstallThe one-line installer below, or the DMG
PermissionsFull Disk Access. No kernel extension, no background daemon and no privileged helper — administrator actions go through a single macOS password prompt
SigningSigned, not notarised. Notarisation requires a paid Apple Developer membership
What leaves your MacOne anonymous line: a random identifier, total bytes reclaimed, and a version number. Switchable off
Local log~/Library/Logs/Dustloft/operations.log — tab-separated, never uploaded
Sourcegithub.com/kapil303196/dustloft
Made byKapil Upadhyay at Logicspark

The near-miss that wrote the rules

These rules came from an actual cleanup, not a checklist. This one came closest to a disaster.

One project’s .git folder was 2.2 GB. It had a GitHub remote configured, so deleting it looked obviously safe.

Running git ls-remote first told a different story. The remote authenticated successfully and returned zero refs. Nothing had ever been pushed. That local .git was the only copy of the project’s history in existence.

A repository with a remote configured looks backed up. It isn’t, until something has actually been pushed.

Dustloft runs that check for you, and never offers to delete a .git folder at all.

Nothing goes until you’ve seen it

Every item, with its full path and real size. Untick anything you want to keep — the total follows along.

Dustloft’s review screen listing 66 items totalling 26.36 GB, each with a checkbox, full path and size
Real disk usage, not apparent size — a sparse Docker image reporting 494 GB is shown at the 9.3 GB it actually occupies.

Two minutes from now you’ll know

One command. It fetches the latest release, installs it and opens it.

curl -fsSL https://raw.githubusercontent.com/kapil303196/dustloft/main/install-online.sh | bash

Universal build — Apple Silicon and Intel. Prefer a disk image? Download the DMG.

What is Dustloft?

Dustloft is a free, open-source macOS app that shows what is hidden inside the storage macOS labels “System Data” and reclaims it. It runs on macOS 13 or later as a universal binary, is MIT licensed with no account or subscription, and lists every item with its full path and real size before anything is removed.

How much does Dustloft cost?

Nothing. It is MIT licensed with no subscription, no account, no ads and no upsell.

Will it delete something I need?

Not without showing you first. Everything is listed with its full path and real size, and you untick anything you want to keep. Items that cannot be recovered are never bulk-selected and need a separate confirmation. Quick Clean only touches things that rebuild themselves.

Why is my System Data so large?

macOS files everything it cannot categorise under that one label — caches, app containers, virtual machine disks, downloaded models, old device backups, local snapshots. It grows quietly and there is no built-in way to look inside. That is the exact problem Dustloft was built for.

Why does it need Full Disk Access?

Without it macOS hides the Trash, app containers and device backups, so sizes come out far lower than reality — and it asks separately for Desktop, Downloads and Documents. Dustloft asks once, up front, and explains why. macOS applies the permission only to a freshly launched app, so it restarts itself once.

Why the “unidentified developer” warning?

Notarisation requires a paid Apple Developer membership. The build is signed but not notarised. The one-line installer avoids the warning legitimately, because quarantine is applied to browser downloads and not to curl.

Does emptying the Trash actually free the space?

Usually, but not always. Root-owned items left by uninstalled apps often refuse to delete and sit there indefinitely. Dustloft spots those and removes them under a single administrator prompt.

How is it different from CleanMyMac?

Free, open source, no subscription. It also declines to do several things commercial cleaners advertise: it will not claim to reclaim purgeable space, will not delete a .git directory, and will not touch a cloud-synced folder. Fewer promises, no surprises. There is a full comparison, including where CleanMyMac is the better choice.

Does it work on Intel Macs?

Yes. Every release is a universal binary built in CI and verified with lipo to contain both architectures.

Does anything leave my Mac?

Almost nothing, and nothing about your files. Dustloft sends one anonymous line when its reclaimed total changes, and once a day even when it has not — a random identifier belonging to that copy of the app, the total bytes it has reclaimed, and its version — so there is some idea of how many Macs it runs on and whether it has actually helped. No name, no email, no account, no file names, no paths. Switch it off in the app, or run launchctl setenv DUSTLOFT_NO_METRICS 1 before first launch — a shell export will not do, because an app opened from the Dock inherits launchd's environment and not your shell's. The privacy note shows the exact message. Its other network requests go to GitHub, to check for a newer version and download it; scanning happens entirely on your machine.