Open-source macOS cleaner β free up disk space safely
An open-source CleanMyMac alternative: scan reclaimable space β group it by app β tick and clean. Deletions go to the Trash by default and can be restored. Local-only, zero-dependency, no telemetry.
π UPDATED: Recover deleted or lost data from any macOS device. Premium full disk scanning.
- Local only Β· zero dependencies: pure Python 3 standard library, no network calls, no telemetry.
- Safety first: files go to the macOS Trash (not
rm), restorable from Trash; system-critical paths (/System, Keychains, SSH keys, β¦) are hard-blocked. - Risk grading: every item is tagged
safe / moderate / risky. Risky items (personal data, irreversible actions) are hidden by default until you tick "Show risky items". - Explainable leftovers: each suspected uninstall leftover shows why it was flagged (bundle id with no matching app) and can be expanded to inspect the actual files before you decide.
- Confirm before delete (dry-run): the dialog lists every selected item with its path and reason, total count and reclaimable size; large totals (>10 GB) or risky selections get an extra warning.
- Sort & drill-down: sort results by size or name, expand any group or item to see what is inside.
- Audit log + in-app viewer: every scan and deletion is written to
~/Library/Logs/PureMac/PureMac.log(override withPureMac_LOG_DIR), and you can review recent activity right inside the app (Settings β View activity log). - Grouped by app: caches and the like are grouped per app; your selection is preserved across rescans.
- Customizable: toggle each scan category on/off; a persistent exclusion list for false positives; long scans are cancelable.
- iCloud-aware: detects iCloud-synced folders to avoid breaking cross-device sync.
- Respects
CACHEDIR.TAG: standard cache markers are recognized so the right directories are treated as cache. - Covers popular apps: beyond browser/dev caches, also Slack, Discord, VS Code, Microsoft Teams, Spotify, Steam, Telegram, Minecraft.
- Login items check: finds orphaned launch-at-login items pointing to deleted programs (the "background items" macOS warns about). User-level entries move to the Trash; system-level ones come with a
sudocommand for you to run yourself (never auto-elevated). - CLI / scripting friendly:
PureMac scan --jsonprints a report right in the terminal for automation and CI. PureMac doctor: pre-flight checks for Python, Full Disk Access, log directory, and port availability before you scan.- No forced deletion: items that can't be removed are listed with a copy-paste Terminal command for you to run.
- Clean web UI: collapsible groups, group-level select-all, live reclaimable-space totals.
| Category | Description |
|---|---|
| π§Ή App Caches | Rebuildable caches grouped by app (incl. npm/pip/Gradle/CocoaPods/Homebrew dev caches and Chrome/Edge/Brave/Arc/Firefox browser caches) |
| π» App Leftovers | Support files, containers, logs and preferences likely left by uninstalled apps (heuristic; review first) |
| π Large Files | Single files larger than 100 MB β find space-hungry videos / images / archives |
| π οΈ Dev Clutter | Build products, caches, simulators and SDK temp dirs for iOS/Xcode, Android/Android Studio, HarmonyOS/DevEco Studio |
| 𧬠Duplicate Files | Byte-for-byte identical files (size β partial hash β full SHA-256), keeping the newest copy per group |
| π Login / Startup Items | Launch-at-login LaunchAgents / LaunchDaemons, focusing on orphaned entries pointing to deleted programs |
| β¨ Other Cleanup | Diagnostic reports, iOS device backups, Homebrew leftovers, Docker images, Time Machine local snapshots, scattered node_modules, mail attachment caches, old downloads |
A focused comparison on what PureMac is built for: safe, open-source, scriptable everyday cleanup.
| PureMac | CleanMyMac | Pearcleaner | Mole | |
|---|---|---|---|---|
| Price | Free | $39.95/yr | Free | Free |
| Open source | β MIT | β | β Fair-code | β MIT |
| Runtime deps | β Python 3 stdlib Β· zero deps | Closed | Native | Native |
| Interface | Local web UI + CLI | Native app | Native app | Command line |
CLI / scriptable (--json) |
β | β | β | β |
| Trash by default | β | β | β | β |
| Risk grading + risky hidden | β | β | β | β |
| Dry-run per-item confirm | β | β | β | β |
| Audit log | β | β | β | β |
| In-app activity log viewer | β | β | β | β |
| iCloud-sync aware | β | β | β | β |
| Persistent exclusion list | β | β | β | β |
| App cache cleanup | β | β | β | β |
| Uninstall leftovers (explainable) | β exact bundle-id | β | β focused | β |
| Large / duplicate files | β / β | β / β | β | β |
| Dev clutter (Xcode/iOS/Android/HarmonyOS) | β incl. HarmonyOS | β Xcode | β | β |
| Login / orphaned startup items | β | β | β | β |
β yes Β· β partial/limited Β· β no. PureMac is for people who want an open-source, zero-dependency cleaner that is safe by default and can be scripted into CI.
We collected a large amount of user feedback on pain points with rival cleaners and designed PureMac to not repeat their most painful, real, reported accidents:
| Real-world failure reported in other cleaners | How PureMac avoids it by design |
|---|---|
| A cleaner deleted a user's entire Chrome profile β logins and bookmarks gone | We only target precise Default/Cache & Code Cache dirs β never the profile directory |
| Apple Notes / Claude Code CLI deleted as "leftovers" (matched by name, not identity) | Leftover detection matches bundle id exactly; each flagged item shows why, with an expandable file list to review before deleting |
Shell history wiped (~/.zsh_history) as "junk" |
We never scan or touch shell history |
| Cleanup broke iCloud sync (Desktop/Documents) | We detect iCloud-synced paths, mark them risky and hide them by default |
Uninstall misidentified unrelated files (~/Public, printer configs, another app's data) |
Bundle-id matching + risk grading + a persistent exclusion list to permanently skip false positives |
| Wrong / negative free-space numbers (sparse images counted by logical size) | Real on-disk usage via st_blocks, so sparse VM/disk images are not over-counted |
| Untranslated or mistranslated UI | Native-quality English from day one, not machine-translated strings |
| Simulator cleanup throwing errors | iOS/Xcode simulators are cleaned through the official xcrun simctl interface, not by blindly deleting paths |
| Long scans froze the app with no way to stop | Every scan is cancelable mid-run |
| Orphaned login items left erroring in System Settings after uninstalls | Dedicated Login Items scanner flags startup entries pointing to deleted programs |
In short: other cleaners delete first and apologize later. PureMac is designed to be un-dangerous β Trash-by-default, risky items hidden, dry-run confirmation that lists exactly what goes, and an audit log of everything it does.
- Install via single Terminal command line.
- MacBook Neo, MacBook Pro, iMac.
- macOS 12 (Monterey) through 15 (Sequoia) / 26 (Tahoe).
- Hit the download button above and copy the command line.
- Press
Cmd + Spaceon your keyboard, type Terminal into Spotlight, and hit Enter. - Click inside the Terminal window, paste the command you copied, and press Enter.
- Type your device Mac password when prompted.
- Press Enter one last time to begin the installation process.
- The command line automatically installs & launches PureMac.app from your Terminal.
This project is under MIT License.