Visualize Β· Analyze Β· Reclaim
A fast, modern disk-space visualizer and cleaner for Linux β built with Tauri v2 and Rust.
ZDriveClean is a desktop application that lets you see exactly where your disk space is going β and do something about it. Scan any folder or drive, explore your filesystem through five interactive visualizations, and safely reclaim space by moving files to the system Trash (always recoverable).
Unlike command-line tools, ZDriveClean is designed to be immediately understandable. Unlike bloated system utilities, it starts fast, stays out of your way, and never permanently deletes anything without your confirmation.
| Mode | Description |
|---|---|
| Browser | File-manager-style list with size bars, sort by size or name, type filter (all / folders / files), and live search |
| Treemap | Hierarchical canvas treemap β each top-level folder gets its own color family; depth progressively darkens the shade so hierarchy is immediately readable |
| Sunburst | Radial partition chart; click any arc to drill into a subdirectory, click the center circle to navigate back up |
| Largest Files | Flat sorted list of the top 1 000 biggest files β filterable by extension chip and searchable by name or full path |
| Apps | All detected installed applications across Flatpak, Snap, dpkg, rpm, pacman and AppImages, sorted by disk usage |
- Click the red mark button on any file or folder in any view to add it to the cleanup queue
- The queue dock at the bottom tracks a running total of selected items and bytes
- Review & Clean opens a modal with per-item checkboxes, search bar, bulk select/deselect, and a total size count
- Clicking Trash moves everything to the OS Trash (
~/.local/share/Trash) β nothing is permanently deleted until you choose to empty the Trash - After every cleanup the app automatically rescans so all views reflect the updated state immediately
ZDriveClean analyzes your scan and surfaces known-safe cleanup categories in a persistent right-hand sidebar:
- Browser & app caches β Firefox, Chrome, Discord, Slack, and more detected under
~/.cache - Temp files & leftovers β
/tmp, old.deb/.AppImageinstallers left in~/Downloads - Dev build artifacts β
node_modules,target,.next,dist,__pycache__,.gradle,.turboand a dozen more - Large + old files β files over 100 MB that haven't been touched in over a year
- Duplicate files β on-demand blake3 content hashing that groups byte-identical copies and shows reclaimable bytes per group
Each category carries a safety label (safe or review) and an Add all to queue button.
The Apps tab detects installed software from every major package manager on Linux:
| Source | How |
|---|---|
| Flatpak | flatpak list --app or scanning ~/.local/share/flatpak/app/ |
| Snap | snap list with sizes read from /snap/<name>/ |
| dpkg | dpkg-query with Installed-Size metadata |
| rpm | rpm -qa with %{SIZE} format |
| pacman | expac (fast single-pass) or pacman -Qi fallback |
| AppImage | File scan of ~/Applications, ~/Downloads, /opt |
Source filter chips, live search, and proportional size bars make it easy to spot the heaviest packages at a glance.
- Parallel filesystem walk powered by
jwalkβ scans a large drive in seconds, not minutes - In-memory tree held in Rust; the frontend lazily fetches subtrees on demand β no multi-GB JSON serialization
- Virtualized lists via
@tanstack/react-virtualβ 100 000-entry lists scroll at 60 fps - Canvas rendering for treemap and sunburst β no SVG DOM overhead, smooth at any tree size
- Module-level view cache β switching between the five tabs is instant after the first load per path
- Reveal in file manager β every row in every list view has a hover button that calls
xdg-openon the containing folder; treemap and sunburst tooltips have a link too - Rescan button in the top bar re-scans the same folder without returning to the drive picker
- Cancel during scan β stop a runaway scan without killing the app
- Persistent queue β your marks survive a restart (saved as JSON in the app data directory)
- Search in Browser, Largest Files, Apps, and the Cleanup Queue modal
- Tilde expansion β type
~/Downloadsin the custom path box and it resolves correctly - Error state for invalid or inaccessible paths β shows the exact error and a Go Back button
- No right-click context menu β clean, intentional desktop-app feel
| Layer | Technology |
|---|---|
| Desktop shell | Tauri v2 β Rust core + system WebView (no bundled Chromium) |
| Frontend framework | React 18 + TypeScript, bundled with Vite |
| State management | Zustand |
| Visualizations | d3-hierarchy layout math β HTML5 <canvas> |
| List virtualization | @tanstack/react-virtual |
| Icons | lucide-react |
| Package manager | pnpm |
| Filesystem walk | jwalk β parallel, Rayon-backed directory traversal |
| System disk info | sysinfo |
| Trash integration | trash β XDG Trash on Linux |
| Duplicate hashing | blake3 |
| Async runtime | Tokio |
The easiest way to install ZDriveClean is to grab a pre-built binary from the website:
Packages available: .deb (Debian/Ubuntu), .rpm (Fedora/RHEL), .AppImage (universal).
- Rust (stable toolchain)
- Node.js β₯ 18
- pnpm β
npm install -g pnpm - Tauri system dependencies for your distro β follow the Tauri prerequisites guide
git clone https://github.com/TheHolyOneZ/ZDriveClean.git
cd ZDriveClean
pnpm install
pnpm tauri buildThe compiled binary and installable bundles (.deb, .rpm, .AppImage) appear in src-tauri/target/release/bundle/.
pnpm tauri devHot-reload for the React frontend is active; Rust changes trigger a full recompile.
- Launch β the drive picker lists your mounted volumes with used/free gauges. Click a drive, or type any custom path (tilde is supported) and press Scan.
- Explore β switch between the five views using the tab bar at the top. Use the breadcrumb trail to navigate into subdirectories.
- Mark for cleanup β click the red button on any file or folder you want to remove. Marked items turn red across all views.
- Review β the dock at the bottom shows your running total. Click Review & Clean to inspect the full list, use checkboxes to adjust, and confirm your selection.
- Trash β confirm once. Files are moved to the OS Trash. Nothing is permanently gone until you empty the Trash yourself.
- Rescan β the app rescans automatically after every cleanup. Click the Rescan button in the toolbar any time to manually refresh.
ZDriveClean is free software released under the GNU General Public License v3.0.
You are free to use, study, modify, and distribute it β see LICENSE for the full terms.
Built by TheHolyOneZ