# SquirrelDisk reads the whole disk as a sunburst, then deletes what you point at

> SquirrelDisk is a native Rust disk usage analyzer for macOS, Windows and Linux, built on egui, with SSH and rclone backends and a collector that trashes or wipes what you drag into it. It suits people who want to see and reclaim space graphically; it does not suit shops that require a signed installer or a non-AGPL licence.

**adileo/squirreldisk** — Free, open-source disk usage analyzer for macOS, Windows and Linux. See what fills your disk, servers (SSH) and cloud storage in an animated sunburst or treemap, and clean it up safely. A DaisyDisk, WizTree and WinDirStat alternative, in native Rust 🦀

- Repository: https://github.com/adileo/squirreldisk
- Website: https://www.squirreldisk.com
- Stars: 2,055 · Forks: 100
- Language: Rust
- License: AGPL-3.0
- Published: 2026-10-16 · Updated: 2026-10-16 · Language: en
- Canonical page: https://hysenlabs.com/projects/adileo-squirreldisk

## The chart is built while the scan runs, not after it

SquirrelDisk is a disk usage analyzer whose output is a picture. Every directory becomes a wedge of an animated sunburst, sized by the space it occupies, and the chart accumulates live during the scan so the largest directories surface within seconds rather than after a full traversal finishes.

The rendering stack is egui with the glow backend. Cargo.toml pins eframe and egui_glow at version 0.36 with the `glow`, `default_fonts`, `wayland` and `x11` features, and renders through tiny-skia rather than a platform web view. tiny-skia is paired with skrifa for text, which the manifest comments on directly: it is the font reader egui itself uses, so the same version is pulled in and nothing extra is built.

Interaction follows the shape of the chart. Clicking a wedge zooms into it, clicking the centre goes back up a level. Hovering a slice fills the side list with that directory's children, largest first. Small files are aggregated into groups so a directory of a few hundred thousand tiny files does not turn into an unreadable ring, and any group can be opened to see its members. For people who find rings hard to read, Settings switches to a treemap where each folder is a box inside its parent box, labelled with name and size.

The chart also self-updates. The manifest carries notify 8 with the `macos_fsevent` feature, so deleting a file in Finder, Explorer or a Linux file manager makes the chart correct itself without a rescan.

## Deleting is a two-step decision: collect, then choose a fate

Cleanup is deliberately not a single click. Slices or list rows are dragged into a collector strip at the bottom of the window. From there the collected set can be moved to the Trash, deleted permanently, or copied to an external drive or to a cloud target. A progress view reports as the work proceeds.

Permanent deletion has an optional secure erase path: every file can be overwritten three times with zeros, then ones, then random data, following DoD 5220.22-M, before removal. That step is opt-in, so the cost of a full-disk wipe is not paid by default.

Safety guards sit under the collector. System directories, the home folder and entire drives are protected outright. Application and settings folders are not blocked but ask for an extra confirmation. Combined with a default route to the Trash, the design means a mis-drag is usually recoverable.

Sizing is on-disk rather than logical. Files that exist only in the cloud through iCloud, Dropbox, Google Drive or OneDrive count as zero, and linked folders are counted once instead of once per link.

## Local disks, SSH hosts and rclone remotes through one window

SquirrelDisk scans more than the machine it runs on. Any host reachable over SSH can be scanned, and cloud storage is reached through rclone, covering S3 buckets, Google Drive, Dropbox, FTP and other supported remotes. If rclone is not present the app installs it with one click, and cloud accounts can be added, edited and removed from inside the application.

The remote side is a separate build. Cargo.toml defines a `gui` feature that is on by default and pulls in eframe, egui_glow, notify, sysinfo, rodio, ureq, self-replace, rfd, tiny-skia, miniz_oxide, ring and skrifa. Building with `--no-default-features` drops all of that and produces what the manifest calls the tiny headless agent, the piece you deploy on a remote server. That is the same binary pair behind the SSH feature: a lean scanner on the far machine and the chart on the near one.

sysinfo 0.39 with the `disk` feature handles local volume enumeration, ureq 3 with rustls and json handles the update check, and self-replace 1.5 handles in-place binary replacement.

## Install paths are binaries you have to tell macOS and Windows to trust

There is no package manager entry in the README. Distribution is by release artifact: `SquirrelDisk-macOS.dmg` for Apple silicon and Intel, `SquirrelDisk-Windows.msi` plus a portable `squirreldisk-x86_64-pc-windows-msvc.exe` for Windows 10 and 11, and `SquirrelDisk-x86_64.AppImage` or `SquirrelDisk-Linux-x86_64.tar.gz` for Linux x86_64. All builds sit on the releases page, and the app updates itself when a newer version appears.

Being outside the App Store has consequences on macOS. The first launch raises a confirmation, after which System Settings, Privacy and Security offers Open Anyway next to the SquirrelDisk message. If macOS calls the app damaged instead, the README gives this:

```bash
xattr -dr com.apple.quarantine /Applications/SquirrelDisk.app
```

Windows shows its own SmartScreen wall with the text that Windows protected your PC. More info then Run anyway gets you through; for the portable executable, Properties, Unblock and OK works too.

A folder named `portable` placed next to the Windows `.exe`, the `.AppImage` or the `squirreldisk` binary from the tar.gz puts settings, the bundled rclone and `rclone.conf` in that folder instead of your user profile. Setting `RCLONE_CONFIG` yourself overrides the account file, and `SQUIRRELDISK_CONFIG_DIR` overrides the portable folder entirely and works on macOS too. Self-update rewrites the executable in place, so a portable folder has to stay writable.

## The same binary works headless, and prints JSON

Passing a folder opens the window on that folder. The scan subcommand does the opposite and stays in the terminal:

```bash
squirreldisk scan ~/Projects --depth 2 --top 3
```

which prints a total line with size, file count and elapsed time, then the largest children at the requested depth, then an elided remainder line. Adding `--json` emits machine-readable output for scripts instead. The Windows installer puts the command on PATH; macOS and Linux register it on first launch when possible, and Settings has a Command-line tool entry when it does not.

The same headless story explains why you can scan over SSH: the `--no-default-features` build strips the entire egui stack and leaves a small agent. The README does not document a systemd unit, a service definition or any deployment guide for that agent, so setting it up on a remote host is manual work.

A second integration is the folder context menu. With Folder menu enabled in Settings, right-clicking a folder offers Scan with SquirrelDisk in Finder Quick Actions, in Explorer under Show more options on Windows 11, and in Dolphin, Nemo and Nautilus Scripts on Linux.

## Where SquirrelDisk differs from the closed tools it names

The repository description positions it as an alternative to DaisyDisk, WizTree and WinDirStat. The differences that are visible from the project itself are specific.

The cost of the AGPL-3.0-only licence is the practical constraint here. The manifest declares `license = "AGPL-3.0-only"`. Modified versions offered over a network carry source obligations under that licence. That is a licensing fact to pass to whoever owns compliance, not something this article can adjudicate.

## Conclusion

Adopt SquirrelDisk if you want a single free window that maps local disks, SSH hosts and rclone remotes the same way, and you are comfortable confirming a macOS gatekeeper warning or running an unsigned installer on Windows. Skip it if your environment blocks unsigned binaries or if AGPL-3.0-only is incompatible with how you intend to distribute it. Before trusting it with a deletion, verify on a folder you can restore: scan a directory, check the reported sizes against what the file manager shows, then exercise the collector with Trash first.

## FAQ

### Is SquirrelDisk free and does it have a paid version?

The README describes it as free for macOS, Windows and Linux, with the release builds published on the project's GitHub releases page and no paid tier mentioned.

### Can SquirrelDisk scan a server over SSH or cloud storage?

Yes. The README states you can scan any machine reachable over SSH, and cloud services through rclone, including S3 buckets, Google Drive, Dropbox and FTP. SquirrelDisk installs rclone for you with one click if it is not already present.

### What license does SquirrelDisk use?

Cargo.toml declares `license = "AGPL-3.0-only"`, and the project's own repository field points back at github.com/adileo/squirreldisk. Check with whoever handles licensing compliance before embedding or redistributing it.

### Can I use SquirrelDisk from the command line?

Yes. `squirreldisk <folder>` opens the app on a folder, and `squirreldisk scan <folder>` prints the biggest items without a window, as a tree with `--depth` and `--top` or as JSON with `--json`. The Windows installer puts the command on PATH; macOS and Linux set it up on first launch when they can, or from Settings, Command-line tool.

### Does SquirrelDisk permanently overwrite data when deleting?

Only if you turn it on. The README describes an optional secure erase that overwrites every file three times with zeros, ones and random data, following DoD 5220.22-M, before removal. Otherwise deleting for good removes the files directly.

### How current is SquirrelDisk 2?

Version 2.5.1 was released on 2026-10-12, following 2.5.0 on 2026-09-30 and 2.4.0 on 2026-09-28. The repository was last pushed on 2026-10-12 and is not archived.

## Sources

- [adileo/squirreldisk on GitHub](https://github.com/adileo/squirreldisk)
- [License: AGPL-3.0](https://github.com/adileo/squirreldisk/blob/main/LICENSE)
- [Project website](https://www.squirreldisk.com)
- [README](https://github.com/adileo/squirreldisk/blob/main/README.md)
- [Releases](https://github.com/adileo/squirreldisk/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/adileo-squirreldisk
