Free, open-source CleanMyMac alternative for macOS. Native SwiftUI cleaner with app uninstaller, disk analyzer, duplicate finder, Xcode/Docker cleanup, Apple Intelligence and zero telemetry.
71
stars
40
commits
Swift
primary language
Sep 10, 2026
updated

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 • 📸 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:) when supported, preserving native file recovery. |
| Protected Paths | Hardcoded blocklists protect SIP paths, /System, /Library, /usr, ~/.ssh, and user document directories. |
| 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. |
| Native Runtime | Built in Swift 6 and SwiftUI with Liquid Glass materials. No Electron or WebKit container overhead. |
View high-resolution screenshots
.dmg from GitHub Releases..dmg and drag MacOSCleaner.app into /Applications.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.
uv, mise, Rust, Go, Python, Node), local AI models & coding assistants (Claude Code, Ollama, MLX, Hugging Face, WhisperKit), and safe Time Machine snapshot thinning (thinlocalsnapshots).totalFileAllocatedSize), Quick Look previews (Space), recursive category filters (Videos, Audio, Photos, Documents, Archives), and dataless iCloud item skip protection.kernel_task, launchd), plus LaunchAgents and LaunchDaemons toggling.FoundationModels explanations for unknown caches, Siri and App Intents automation, Liquid Glass materials with keyboard navigation (⌘,, ⌘C, ⌘F, ⌘R, ⌘⌫), and 10 language localizations.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.xcodeproj
Build 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.
Note: Contributions are subject to the project's Contributor License Agreement (CLA).
Citation reference:
CITATION.cff
Dual-licensed:
Trademark Notice: The license does not grant permission to use the project name ("MacOSCleaner"), logos, or branding in derivative works.
40 commits
Swift
96.9%
Python
3.1%
Free, open-source CleanMyMac alternative for macOS. Native SwiftUI cleaner with app uninstaller, disk analyzer, duplicate finder, Xcode/Docker cleanup, Apple Intelligence and zero telemetry.
71
stars
40
commits
Swift
primary language
Sep 10, 2026
updated

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 • 📸 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:) when supported, preserving native file recovery. |
| Protected Paths | Hardcoded blocklists protect SIP paths, /System, /Library, /usr, ~/.ssh, and user document directories. |
| 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. |
| Native Runtime | Built in Swift 6 and SwiftUI with Liquid Glass materials. No Electron or WebKit container overhead. |
View high-resolution screenshots
.dmg from GitHub Releases..dmg and drag MacOSCleaner.app into /Applications.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.
uv, mise, Rust, Go, Python, Node), local AI models & coding assistants (Claude Code, Ollama, MLX, Hugging Face, WhisperKit), and safe Time Machine snapshot thinning (thinlocalsnapshots).totalFileAllocatedSize), Quick Look previews (Space), recursive category filters (Videos, Audio, Photos, Documents, Archives), and dataless iCloud item skip protection.kernel_task, launchd), plus LaunchAgents and LaunchDaemons toggling.FoundationModels explanations for unknown caches, Siri and App Intents automation, Liquid Glass materials with keyboard navigation (⌘,, ⌘C, ⌘F, ⌘R, ⌘⌫), and 10 language localizations.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.xcodeproj
Build 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.
Note: Contributions are subject to the project's Contributor License Agreement (CLA).
Citation reference:
CITATION.cff
Dual-licensed:
Trademark Notice: The license does not grant permission to use the project name ("MacOSCleaner"), logos, or branding in derivative works.
40 commits
Swift
96.9%
Python
3.1%