Free, native, privacy-first cleaner and application uninstaller for macOS.
Built with Swift 6 and SwiftUI. Moves files to Trash by default instead of permanently deleting them.
Requirements: macOS 26.0 or later. Apple Silicon only (Intel Macs are not supported).
✨ Features • 🎬 Demo • 📸 Screenshots • 🛠️ Build from Source • 📖 Documentation
| Principle | Technical Implementation |
|---|---|
| No Telemetry | No background daemons, analytics SDKs, or remote loggers. All scanning runs locally without network access. |
| Trash-First | Files are moved to macOS Trash via trashItem(at:) by default, preserving native file recovery. Selective preview ensures unselected files remain untouched; optional immediate bypass requires explicit confirmation. |
| Protected Paths | Hardcoded blocklists protect SIP paths, /System, /Library, /usr, ~/.ssh, user documents, IDE settings (.vscode, .idea, .zed), and Finder sidebar favorites (FavoriteItems.sfl3). |
| Non-Destructive Scanning | Scanning never terminates running applications or modifies files. Cleanup and uninstallation enforce a 3-second soft quit timeout before forced termination. |
| Open Core | Swift 6 codebase with strict concurrency, actors, and structured task groups. Core engine and heuristics are inspectable. |
| On-Device AI | Checksums, hashes, and FoundationModels file explanations execute strictly on-device without cloud relays (no Private Cloud Compute or third-party APIs). |
| Native Runtime | Built in Swift 6 and SwiftUI with Liquid Glass materials. No Electron or WebKit container overhead. |
View high-resolution screenshots
- Direct Download: Grab the latest
.dmgfrom GitHub Releases. - Mount & Drag: Open the
.dmgand dragMacOSCleaner.appinto/Applications. - First Launch (Gatekeeper): If macOS shows a Gatekeeper warning on locally built/unnotarized apps:
sudo xattr -r -c /Applications/MacOSCleaner.app
Note: This removes the quarantine attribute set by macOS. It does not modify app files, system security, or grant persistent permissions.
- Smart Cleanup: scans 55+ categories across system caches, user logs, browser data, 304 applications, and 92 developer toolchains (Xcode, Docker,
uv,mise, Rust, Gomodcache, Python, Node, CocoaPods), local AI models (Claude Code, Ollama, MLX, Hugging Face, WhisperKit), and safe Time Machine snapshot thinning (thinlocalsnapshots). Includes review-only categories (iOS backups, Docker, Simulators) deselected by default, guarded Font Cache reset with confirmation, recent operations summary, and a dedicated History window (⌘Y). - Forensic Uninstaller: inspects 30 evidence types (Bundle ID, Team ID, Spotlight metadata, Launch Services) across 2,343 cataloged remnant paths. Features a 3-stage uninstallation pipeline (soft quit →
launchdhelper bootout → file trashing), word-boundary matching to prevent false positives, Intel-only app badges (executableArchitectures), and standalone orphaned residuals cleanup with privilege escalation fallback. - Duplicate Finder: Master-Detail split interface (
HSplitView) with side-by-side group and file inspection. 3-stage detection pipeline (file size matching, 4 KB header checksum, full SHA-256 verification), native Quick Look previews (Space), high-resolution photo previews, middle-truncation path formatting, and Smart Selection actions (Select All Duplicates,Deselect All). - Disk Space Analyzer: hierarchical folder drill-down with breadcrumb navigation, honest APFS allocated block sizing (
totalFileAllocatedSizeKey), Quick Look previews (Space), recursive category filters (Videos, Audio, Photos, Documents, Archives), and dataless iCloud item skip protection. - Process and Service Manager: monitors live CPU and RAM usage with termination safeguards for critical system processes (
kernel_task,launchd). Employs chunked lazy loading (LazyVStack) and memoized filtering to eliminate UI hitching. Startup Services manager categorizes LaunchAgents, LaunchDaemons, and Login Items, with direct "Show in Finder" navigation and safe service removal (launchdbootout + trash). - Native System Integrations & Apple Intelligence: on-device
FoundationModelsstructured classification (@Generableverdicts: safe, caution, danger) with streaming explanations, Siri and App Intents automation (CleanCategoryIntent,CleanDeveloperCachesIntent,EmptyTrashIntent,RunScheduledCleanupIntent) with.requiresAuthentication, Liquid Glass navigation with floating glass pill bar (GlassEffectContainer,glassEffectUnion), full keyboard shortcuts (⌘1–⌘8,⌘Y,⌘,,⌘C,⌘F,⌘R,⌘⌫), and 14 language localizations (English, Russian, Ukrainian, German, French, Spanish, Italian, Japanese, Simplified & Traditional Chinese, Korean, Polish, Brazilian Portuguese, and Arabic with native RTL layout).
Complete feature breakdowns and path specifications are documented in the MacOSCleaner Wiki.
Prerequisites: macOS 26.0+, Xcode 18+, XcodeGen.
git clone https://github.com/AlexTkDev/MacOSCleaner.git
cd MacOSCleaner/MacOSCleaner
xcodegen
open MacOSCleaner.xcodeprojBuild and run with ⌘R, or run tests with ⌘U.
Note: Public source builds use the public fallback cleanup catalog.
If you find MacOS Cleaner useful, please consider giving it a ⭐️ on GitHub. It helps more users discover the project and directly supports ongoing development.
— Star the repository and watch releases for update notifications.
— Ask questions, propose features, and share feedback.
— Report bugs or suggest rule improvements.
— Architecture overview and developer guides.
— Explore repository online and open in Cursor.
Note: Contributions are subject to the project's Contributor License Agreement (CLA).
|
Aleksandr (AlexTkDev) |
Citation reference:
CITATION.cff
Dual-licensed:
- GNU GPLv3 + Commons Clause v1.0 for personal, non-commercial use, testing, and open-source contributions. Commercial resale and commercial re-licensing are prohibited.
- Commercial License for enterprise, commercial, or proprietary distribution. Contact the author for licensing inquiries.
Trademark Notice: The license does not grant permission to use the project name ("MacOSCleaner"), logos, or branding in derivative works.




