A fast, native macOS disk space analyzer that makes crowded drives easy to understand. Scan folders and volumes, explore where your storage is going, compare results over time, and safely clean up — all without leaving the app. Visit the Radix website to learn more!
Storage fills up quietly. Radix makes it obvious where it went — no Terminal commands, no waiting through scans that crawl forever. Point it at a folder, sit back, and explore a clean visual breakdown of directories and files.
It's built with Swift and SwiftUI, designed to feel like a natural part of macOS.
Switch between sunburst and treemap views to understand how space is distributed. Hover over an item to inspect it, then double-click a folder to drill deeper.
| Sunburst | Treemap |
|---|---|
![]() |
![]() |
Use the sortable file browser to inspect items, search the current focus or the entire scan, and filter by item kind or allocated size. Preview files with Quick Look and navigate scans with breadcrumbs and back/forward navigation.
Compare two scans to see which files and folders grew, shrank, appeared, or disappeared.
Add items from the disk map, file browser, or inspector to the Discard Pile. Review everything together before deciding whether to move anything to the Trash.
Export completed scans as compact, losslessly compressed .radixscan snapshots and reopen them later as read-only results.
- Fast, iterative file-system scanning with live progress
- Faster follow-up scans by reusing previous results when possible
- Automatic summarization of directories containing thousands of tiny files
- Custom scan exclusions for paths you do not want to include
- Optional free-space display in disk maps
- Smart Locations for mounted volumes, Home, Desktop, Documents, Downloads, Library, and Applications
- Recent scan history in the sidebar
- Detailed inspector with sizes, access information, parent directory, and largest children
- Usage stats showing scans completed, data scanned, scan speeds, chart interactions, and cleanup totals — all stored locally on your Mac
- Reveal in Finder, Copy Path, Move to Trash, and more actions
- Drag and drop a folder into the window to start scanning
- APFS-aware storage accounting that avoids double-counting full clones and detects partial clones
- Welcome flow with an onboarding and an interactive tour of the app
- Available in English, German, Spanish, French, Italian, Russian, and Simplified Chinese
- Automatic updates powered by Sparkle
Radix works out of the box on any folder you can already access. For some folders, the app may require Full Disk Access. Radix detects when files are skipped due to permissions and guides you through enabling them in System Settings.
Radix requires macOS Sonoma 14 or later.
brew install --cask radixDownload the latest version from Releases or the Radix website, then drag Radix into your Applications folder.
View build instructions, project structure, and architecture
Building Radix requires Xcode 26 or later with a Swift 6.2 toolchain.
Clone the repository and run the Swift package tests:
git clone https://github.com/colinvkim/Radix.git
cd Radix
swift testOpen Radix.xcodeproj in Xcode to build and run the complete app, or build it from the command line:
xcodebuild \
-project Radix.xcodeproj \
-scheme Radix \
-configuration Debug \
-destination 'platform=macOS' \
buildThe SwiftPM package contains RadixCore and its Swift Testing suite. The shared Xcode scheme runs the same core tests: use Product → Test (Cmd-U), or replace build with test in the command above.
Radix/
├── Radix/ # App and core source code
│ ├── App/ # App entry point, commands, and window management
│ ├── Models/ # Scan targets, node records, snapshots, and safety models
│ ├── Services/ # Scanning, archives, comparison, geometry, and formatting
│ ├── ViewModels/ # Application state and UI coordination
│ ├── Features/
│ │ ├── Comparison/ # Scan comparison setup and results
│ │ ├── DiscardPile/ # Cleanup candidate review
│ │ ├── FileList/ # Sortable file browser
│ │ ├── Inspector/ # Single- and multiple-selection details and actions
│ │ ├── Onboarding/ # Welcome flow, permission guidance, and workspace tour
│ │ ├── Settings/ # Scan, visualization, and app preferences
│ │ ├── Sidebar/ # Smart Locations, recent scans, and Discard Pile
│ │ ├── Visualization/ # Sunburst and treemap views
│ │ └── Workspace/ # Main scanning and exploration interface
│ └── Shared/ # Reusable SwiftUI components and helpers
├── RadixCoreTests/ # Unit, integration, and benchmark-style tests
├── Package.swift # RadixCore Swift package definition
└── Radix.xcodeproj/ # Complete macOS app project
ScanEngineis an actor-based asynchronous scanner that uses iterative file-system traversal.ScanCoordinatorowns scan state, whileIncrementalScanServicereuses prior results when it can safely reconcile filesystem changes.AppModelis the central@MainActorstate and coordination layer for the application.ScanSnapshotandFileTreeStorerepresent scan results using flat tree storage and indexed lookups.- Archive and comparison services stream, validate, and compare
.radixscansnapshots. Format v5 losslessly compresses the large node and topology sections with LZFSE while retaining v3/v4 import compatibility. - Sunburst and treemap services separate layout and interaction models from their SwiftUI presentation.
RadixCorehas no external Swift package dependencies. The app uses Sparkle for updates.
Contributions are welcome! Here's how to get started:
- Fork the repository and create a feature branch. Before getting started, consider reviewing the developer documentation above for build instructions and an overview of the project’s structure and architecture.
- Make your changes and add or update tests where appropriate. Keep them focused and well-documented.
- Run
swift test. - Open a pull request explaining what changed and why.
Use Conventional Commits for commit messages and PR titles. If you're tackling something big, consider opening an issue first so the approach can be discussed.
Radix is available under the MIT License.


