mrkeyoor.com_
Wed 07 Oct 02:23 UTC
Dev Toolsevaluationupdated 07 Oct 2026

gdu review

Gdu is a Go disk-usage analyzer with a terminal interface, script-friendly output, saved scans, and a local web view. It helps you find space hogs and act on them without waiting for a plain `du` listing, though its delete controls deserve the same care as any file manager.

trackingstars / 7d
Verdict

Our gdu run installed 80 packages, built successfully, and passed all 36 tests, so the current codebase is an easy recommendation for local disk triage. Use --no-delete on machines where inspection must stay read-only, and keep the browser view on localhost. Windows compression, cloud placeholders, and some filesystem-boundary cases make it a poor source of final accounting there.

We ran it

Lab card: what happened when we ran gduScreenshot of gdu (github.com/dundee/gdu)
Install✓ · 26s80 packages
Build✓ · 64s
Tests✓ · 40s36 passed · 0 failed of 36 (go test)
Repo286 files~42,421 lines of source · 1.6 MB · 6 CI workflows · Dockerfile

Answers from our run

Does gdu build from source?

Dependencies installed in 26 seconds (80 packages), and the build succeeded in 64 seconds. We cloned commit 387cf50 into a clean Debian container with 3 CPUs and no project-specific setup.

Do gdu's tests pass?

Yes: 36 of 36 passed when we ran the project's own test command (go test). Some failures need services or credentials a bare container does not have.

Who should not use gdu?

Windows administrators who need exact physical usage for compressed or cloud-only files: open issues 407 and 265 report wrong NTFS compression totals and OneDrive or SharePoint placeholders being counted.

What are the alternatives to gdu?

dua-cli, dust, godu. Our gdu run installed 80 packages, built successfully, and passed all 36 tests, so the current codebase is an easy recommendation for local disk triage.

Setup5/526-second install, released binaries, and no required service
Docs5/5Flags, modes, security limits, storage, and packages are documented
Community5/56,082 stars, an October 2026 release, and active pull requests
Maturity4/5v5.38.0 is active, but filesystem accounting issues remain open

Who it’s for

Linux and macOS users who want an interactive disk browser in one released binary.
Administrators who need non-interactive totals, JSON exports, or saved SQLite and BadgerDB scans.
SSD users who can benefit from parallel directory scanning.
Developers who want a localhost web treemap without installing a separate frontend.

Who it’s NOT for

Windows administrators who need exact physical usage for compressed or cloud-only files: open issues 407 and 265 report wrong NTFS compression totals and OneDrive or SharePoint placeholders being counted.
Btrfs or bind-mount audits where --no-cross must match du -x: issues 204 and 666 report boundary and total discrepancies.
Anyone planning to expose the web UI on a shared network: browsing has no authentication, so reachable users can see file names and sizes.
Operators who want a read-only browser without checking flags: terminal and web modes can delete items unless you start gdu with --no-delete.

Setup reality

Our fresh Debian sandbox installed commit 387cf50 in 26 seconds with 80 packages. The build succeeded in 64 seconds, then the tests passed in 40 seconds: go test reported 36 passed and 0 failed of 36. The checkout held 286 files, about 42,421 source lines, and used 1.6 MB.

A released binary needs no account, API key, or outside service. YAML configuration is optional, and the web assets are embedded. The documented Docker command is less modest: it runs privileged and mounts the host root at /mnt/root.

Gdu targets SSDs first and provides sequential scanning for rotating disks. Homebrew installs it as gdu-go, while the web UI should remain on its default localhost bind. Windows users should read the open filesystem-accounting issues before treating its totals as authoritative.

Parallel scanning favors SSDs, while HDDs get a sequential switch

Gdu says plainly that SSDs are its primary target because parallel processing can keep the drive busy. Rotating disks still work, but the README says the gain is smaller and supplies --sequential for that case. The default terminal view lets you descend into large directories, sort entries, inspect files, move items to trash, or delete them. That makes it useful when the job is finding the space hog and dealing with it in one sitting.

The same binary also has a non-interactive mode for scripts and an export mode for later inspection. A plain piped command automatically drops the terminal interface. JSON scans can be saved and reopened, while SQLite or BadgerDB can hold analysis data on disk. Hard links are counted once. For recurring capacity checks, this is more practical than taking screenshots of a terminal tree.

Version 5.38.0 added a web treemap with delete controls

Release v5.38.0, published October 5, 2026, added a full-window treemap beside the browser view's donut chart. It also added multi-directory scans, .gitignore-style exclusions, custom trash commands, and Windows ARM64 builds. The browser frontend is embedded in the executable, so gdu --web /some/dir does not need a separate package or network fetch after installation.

The web mode is more capable than a passive report. You can reveal an item in the system file manager, move it to trash, or delete it permanently after confirmation. A browser-session option can suppress later confirmations. --no-delete hides and rejects those actions, and filtered scans block deletion unless GDU_ALLOW_DELETE_WITH_FILTER=1 overrides the check. Those controls are sensible, but administrators should choose them before handing the interface to someone else.

What happened when we ran it

Our sandbox installed commit 387cf50 in 26 seconds and brought in 80 packages. The build completed successfully in 64 seconds. Tests finished in 40 seconds, with go test reporting 36 passed and 0 failed of 36. This was a fresh unprivileged Debian container with 3 CPUs, 8 GB of RAM, no secrets, and the golang:1.24-bookworm image.

The repository itself contained 286 files, about 42,421 lines of source, and occupied 1.6 MB when checked out. We found 6 CI workflow files and a Dockerfile, though there was no top-level tests directory. The passing test result matters more than that layout signal. Our run establishes that this commit installs, builds, and tests cleanly in the stated container. It does not provide a disk-scanning speed comparison.

Read-only use requires a flag, and remote web browsing has no login

Terminal mode assigns d to permanent deletion and D to trash. The safer inspection command is gdu --no-delete, with --no-spawn-shell and --no-view-file available when an operator should see sizes without opening content or a shell. The Docker example in the README uses --privileged and mounts /, so copying that command onto a production host gives the container a broad view of the machine.

The web server defaults to localhost on a random port. Browsing requires no authentication, which means any user who can reach a non-loopback bind can see names and sizes. Reveal and delete requests add loopback checks plus a random token, but the README warns that a cold-started Linux browser may leave that token in its process command line. On a multi-user box, --web-open=false avoids that particular exposure.

Open issues limit authoritative totals on Windows and some Linux filesystems

Issue 407 reports incorrect disk usage for NTFS Compression on Windows 11, while apparent size remained correct in the reporter's example. Issue 265 says OneDrive and SharePoint files that were not local still entered the total. Those reports concern the number you came to a disk analyzer to trust. Windows administrators should compare a sample against native tools before using gdu to justify cleanup.

Linux has narrower warnings. Issue 204 reports --no-cross entering a Btrfs snapshot subvolume, and issue 666 shows gdu -x / returning 3.4 GiB where du -shx / returned 6.4G on Debian sid. The latter reporter suspected bind mounts, but the issue has no confirmed cause. Gdu is excellent for locating candidates. In these cases, verify the final filesystem total elsewhere.

An October 5 release shows active maintenance

GitHub showed 6,082 stars and 46 open issues and pull requests when checked on October 7, 2026. The API list separated that combined figure into 38 issues and 8 pull requests. The repository had been pushed on October 5, the same day v5.38.0 shipped, and the release included fixes for hard-link exports, mount handling, stored reports, and archive-related panics. This is current maintenance, not a project coasting on an old tag.

Gdu earns a place on an SSD workstation or an administrator's local toolbox because one binary covers interactive cleanup, script output, saved scans, and a browser view. Start with deletion disabled when you only need evidence. If exact Windows allocation or strict filesystem-boundary accounting decides a billing or compliance question, use a second tool to confirm the number before removing anything.

Alternatives

ProjectWhat it isPick it when
dua-cliA Rust disk-usage viewer that can also delete unwanted data.pick this instead when you want a Rust-native interactive cleaner and do not need gdu's web UI or saved database scans.
dust gh↗A Rust take on `du` that presents usage as an easy-to-read tree.pick this instead when a compact terminal tree is enough and you do not want an interactive file browser.
goduA small Go utility for finding large files and folders with a carousel-style interface.pick this instead when you want a narrower Go disk browser with fewer operating modes.

What people are saying

  1. [github-trending] dundee/gdu

Sources

  1. Gdu README
  2. Gdu installation guide
  3. Gdu v5.38.0 release
  4. Issue 666: gdu -x total differs from du -shx
  5. Issue 407: Windows NTFS compression disk usage
  6. Issue 265: OneDrive and SharePoint files in totals
  7. Issue 204: Btrfs boundary behavior

More dev tools reviews

photosuite · client_golang · kubescape · amass · rea · grokbot-field-notes · the whole board →