PureMac is a free, open-source macOS app manager and system cleaner. It provides complete app uninstallation, orphaned file detection, and system junk cleaning without subscriptions, telemetry, or data collection.

Features

App Uninstaller

  • Discovers installed apps from /Applications and ~/Applications
  • Heuristic file discovery engine with 10-level matching (bundle ID, company name, entitlements, team identifier, Spotlight metadata, container discovery)
  • 3 sensitivity levels: Strict (safe), Enhanced (balanced), Deep (thorough)
  • Shows related files: caches, preferences, containers, logs, support files, launch agents
  • System app protection (27 Apple apps excluded)
  • Master-detail view: app table on left, discovered files on right

Orphaned File Finder

  • Detects leftover files in ~/Library from uninstalled apps
  • Compares Library contents against installed app identifiers
  • One-click cleanup of orphaned files

System Cleaner

  • Smart Scan: one-click scan across all categories
  • System Junk: system caches, logs, temporary files
  • User Cache: dynamically discovers all app caches (no hardcoded list)
  • Mail Attachments: downloaded mail attachments
  • Trash Bins: empty all Trash
  • Large & Old Files: files >100 MB or older than 1 year
  • Purgeable Space: APFS purgeable disk space detection
  • Xcode Junk: DerivedData, Archives, simulator caches
  • Brew Cache: Homebrew download cache (detects custom HOMEBREW_CACHE)
  • Scheduled Cleaning: automatic scans on configurable intervals

Native macOS Experience

  • Built with SwiftUI using native macOS components
  • NavigationSplitView, Toggle, ProgressView, Form, GroupBox, Table
  • Respects system light/dark mode automatically
  • No custom gradients, glows, or web-app styling
  • First-launch onboarding with Full Disk Access setup

Safety

  • Confirmation dialogs before destructive operations
  • Symlink attack prevention (resolves and validates paths before deletion)
  • System app protection (Apple apps cannot be uninstalled)
  • Large & Old Files never auto-selected
  • Structured logging via os.log (visible in Console.app)

Installation

brew update
brew install --cask puremac

Direct Download

Download the latest .dmg from Releases, open it, and drag PureMac to /Applications.

Signed and notarized with Apple Developer ID - installs without Gatekeeper warnings.

Build from source

brew install xcodegen
git clone https://github.com/momenbasel/PureMac.git
cd PureMac
xcodegen generate
xcodebuild -project PureMac.xcodeproj -scheme PureMac -configuration Release -derivedDataPath build build
open build/Build/Products/Release/PureMac.app

Architecture

PureMac/
  Logic/Scanning/     - Heuristic scan engine, locations database, conditions
  Logic/Utilities/    - Structured logging
  Models/             - Data models, typed errors
  Services/           - Scan engine, cleaning engine, scheduler
  ViewModels/         - Centralized app state
  Views/              - Native SwiftUI views
    Apps/             - App uninstaller views
    Cleaning/         - Smart scan and category views
    Orphans/          - Orphan finder
    Settings/         - Native Form-based settings
    Components/       - Shared components

Key components:

  • AppPathFinder - 10-level heuristic matching engine for discovering app-related files
  • Locations - 120+ macOS filesystem search paths
  • Conditions - 25 per-app matching rules for edge cases (Xcode, Chrome, VS Code, etc.)
  • AppInfoFetcher - Spotlight metadata + Info.plist fallback for app discovery
  • Logger - Apple os.log unified logging

Contributing

Contributions are welcome. See the upstream repository’s CONTRIBUTING guide for details.

Areas where help is especially welcome:

  • Size/date filter presets in category views
  • XCTest coverage for AppState and scan engine
  • Localization (zh-Hans, zh-Hant, and other languages)
  • App icon design

Acknowledgments

v2.0 was shaped by community feedback and contributions: