% NCurses Disk Usage
Ncdu is a disk usage analyzer with an ncurses interface. It is designed to find
space hogs on a remote server where you don't have an entire graphical setup
available, but it is a useful tool even on regular desktop systems. Ncdu aims
to be fast, simple and easy to use, and should be able to run in any minimal
POSIX-like environment with ncurses installed.
**NEWS FLASH!** Ncdu 2.5 adds support for parallel scanning, but it's not
(yet?) enabled by default. To give it a try, run with `-t8` to scan with 8
threads. If you're running an unusual setup, such as networked storage, odd
filesystems, complex RAID configurations, etc, I'd love to hear about the
performance impact of this new feature. Feedback is welcome on the [issue
tracker](https://code.blicky.net/yorhel/ncdu/issues) or through mail @
[projects@yorhel.nl](mailto:projects@yorhel.nl).
If you want to run benchmarks, `-0 --quit-after-scan` can be useful to disable
the browser interface, or run with `-0o/dev/null` to benchmark JSON export.
## Download
Static binaries
: Convenient static binaries for Linux. Download, extract and run; no
compilation or installation necessary:
[x86](/download/ncdu-2.5-linux-x86.tar.gz) -
[x86_64](/download/ncdu-2.5-linux-x86_64.tar.gz) -
[ARM](/download/ncdu-2.5-linux-arm.tar.gz) -
[AArch64](/download/ncdu-2.5-linux-aarch64.tar.gz).
Zig version (stable)
: 2.5 (2024-07-24 - [ncdu-2.5.tar.gz](/download/ncdu-2.5.tar.gz) - [changes](/ncdu/changes2))
Requires Zig 0.12 or 0.13.
The [Zig language](https://ziglang.org/) and compiler are still somewhat
unstable, use the ncdu 1.x branch if this does not work for you or if you
need a more stable compilation environment.
C version (LTS)
: 1.20 (2024-04-21 - [ncdu-1.20.tar.gz](/download/ncdu-1.20.tar.gz) - [changes](/ncdu/changes))
Lags a bit behind on the 2.x version in terms of features and performance,
but is still being maintained and perfectly usable.
Development version
: The most recent code is available on git:
```
git clone git://g.blicky.net/ncdu.git/
```
The repository is also available for online browsing on
[Forgejo](https://code.blicky.net/yorhel/ncdu/) and
[cgit](https://g.blicky.net/ncdu.git/).
The 'master' branch represents the C version, the Zig version can be found
in the 'zig' branch.
License
: MIT.
## Packages and ports
Ncdu has been packaged for quite a few systems, here's a list of the ones I am aware of:
[AIX](http://www.perzl.org/aix/index.php?n=Main.Ncdu) -
[Alpine Linux](http://pkgs.alpinelinux.org/packages?name=ncdu) ([2](https://pkgs.alpinelinux.org/packages?name=ncdu2&branch=edge&repo=&arch=&maintainer=)) -
[ALT Linux](https://packages.altlinux.org/en/sisyphus/srpms/ncdu/) -
[Arch Linux](https://www.archlinux.org/packages/?q=ncdu) -
[CRUX](https://crux.nu/portdb/?q=ncdu&a=search) -
[Cygwin](https://cygwin.com/cgi-bin2/package-grep.cgi?grep=ncdu) -
[Debian](http://packages.debian.org/ncdu) -
[Fedora](https://packages.fedoraproject.org/pkgs/ncdu/ncdu/) -
[FreeBSD](https://www.freebsd.org/cgi/ports.cgi?query=ncdu&stype=all) -
[Frugalware](https://frugalware.org/package/ncdu/) -
[Gentoo](https://packages.gentoo.org/packages/sys-fs/ncdu) ([-bin](https://packages.gentoo.org/packages/sys-fs/ncdu-bin)) -
[GNU Guix](https://guix.gnu.org/packages/N/) -
[NixOS](https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/ncdu/default.nix) -
[OpenBSD](https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/sysutils/ncdu/) -
[openSUSE](https://software.opensuse.org//download.html?project=utilities&package=ncdu).
[OpenWRT](https://openwrt.org/packages/pkgdata/ncdu) -
MacOS ([Fink](https://pdb.finkproject.org/pdb/package.php/ncdu) - [Homebrew](https://formulae.brew.sh/formula/ncdu) - [MacPorts](https://ports.macports.org/search/?q=ncdu&name=on)) -
[Solaris](https://www.opencsw.org/packages/ncdu) -
[Slackware](https://slackbuilds.org/repository/15.0/system/ncdu/) -
[Ubuntu](https://packages.ubuntu.com/search?searchon=sourcenames&keywords=ncdu) -
[Void Linux](https://voidlinux.org/packages/?arch=x86_64&q=ncdu).
Packages for NetBSD, DragonFlyBSD, MirBSD and others can be found on
[pkgsrc](http://pkgsrc.se/sysutils/ncdu).
## Similar projects
There's no shortage of alternatives to ncdu nowadays. In no particular order:
- [Duc](http://duc.zevv.nl/) - Multiple user interfaces, C, scales beyond directories that fit in RAM.
- [gt5](http://gt5.sourceforge.net/) - TUI/HTML, also supports diffing.
- [gdu](https://github.com/dundee/gdu) - TUI/CLI, Go, supports ncdu JSON export and import.
- [dua](https://github.com/Byron/dua-cli) - CLI, Rust.
- [pdu](https://github.com/KSXGitHub/parallel-disk-usage) - CLI, Rust.
- [diskonaut](https://github.com/imsnif/diskonaut) - TUI, Rust, treemap.
- [dut](https://codeberg.org/201984/dut), CLI, C.
- [godu](https://github.com/viktomas/godu) - TUI, Go, slightly different browser UI.
- [tdu](https://github.com/josephpaul0/tdu) - CLI, Go, supports ncdu JSON export.
- [TreeSize](http://treesize.sourceforge.net/) - GTK, using a treeview.
- [Baobab](http://www.marzocca.net/linux/baobab/) - GTK, using pie-charts, a treeview and a treemap. Comes with GNOME.
- [GdMap](http://gdmap.sourceforge.net/) - GTK, treemap.
- [Filelight](https://apps.kde.org/filelight/) - KDE, using pie-charts.
- [QDirStat](https://github.com/shundhammer/qdirstat) - Qt, treemap.
- [K4DirStat](https://github.com/jeromerobert/k4dirstat) - Qt, treemap.
- [xdiskusage](http://xdiskusage.sourceforge.net/) - FLTK, with a treemap display.
- [fsv](http://fsv.sourceforge.net/) - 3D visualization.