# Install ncurses with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Text-based UI library. Version 6.6 via Homebrew; verified 2026-06-26.

## Install

```sh
sudo av install brew:ncurses
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ncurses
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install ncurses
```

  Evidence: MacPorts ports tree: devel/ncurses/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add libformw
```

  Evidence: Alpine Linux edge package indexes: libformw from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install lib32ncurses-dev
```

  Evidence: Debian stable package indexes: lib32ncurses-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install ncurses
```

  Evidence: Fedora Rawhide package metadata: ncurses from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#ncurses
```

  Evidence: nixpkgs package indexes: ncurses from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S ncurses
```

  Evidence: Arch Linux sync databases: ncurses from https://geo.mirror.pkgbuild.com/core/os/x86_64/core.db.tar.gz

- zypper (92%):

```sh
sudo zypper install libncurses5
```

  Evidence: openSUSE Tumbleweed package metadata: libncurses5 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:ncurses
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/ncurses>
- **Version:** 6.6
- **Source summary:** Text-based UI library
- **Homepage:** <https://invisible-island.net/ncurses/announce.html>
- **Repository:** <https://github.com/ThomasDickey/ncurses-snapshots>
- **Upstream docs:** <https://invisible-island.net/ncurses>
- **License:** X11-distribute-modifications-variant
- **Source archive:** <https://ftpmirror.gnu.org/gnu/ncurses/ncurses-6.6.tar.gz>
- **Last updated:** 2026-06-26T16:24:51-04:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- captoinfo (cli)
- clear (cli)
- infocmp (cli)
- infotocap (cli)
- ncurses6-config (cli)
- ncursesw6-config (cli)
- reset (cli)
- tabs (cli)
- tic (cli)
- toe (cli)
- tput (cli)
- tset (cli)
- captoinfo (alias)
- clear (alias)
- infocmp (alias)
- infotocap (alias)
- ncurses6-config (alias)
- ncursesw6-config (alias)
- reset (alias)
- tabs (alias)
- tic (alias)
- toe (alias)
- tput (alias)
- tset (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 6.6
- Package-manager updated: 2026-06-26
- Local data: ok
- Upstream repository: https://invisible-island.net/ncurses/announce.html
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

ncurses, short for new curses, is the dominant free curses implementation for building text user interfaces on character-cell terminals. It emulates and extends System V Release 4 curses, uses terminfo, and ships both libraries and utilities such as tic, infocmp, tput, clear, reset, tabs, toe, and tset.

### Project history

The lineage runs through earlier curses and pcurses work. Thomas Dickey's ncurses licensing history discusses ncurses 0.7.2 from May 22, 1993 and ncurses 1.8.1 from November 5, 1993, with Pavel Curtis and Zeyd Ben-Halim copyright lineage. Dickey's history also identifies ncurses 1.9.9e on March 24, 1996 as the end of Zeyd Ben-Halim's maintainership and April 6, 1996 as Dickey's first patch against his ncurses archive.

### Adoption history

The ncurses 6.4 announcement says that in mid-June 1995 the maintainer of 4.4BSD curses declared it obsolete and encouraged BSD-family systems to switch to ncurses. The same announcement describes ncurses as used in almost every Linux-kernel-based system aside from some embedded applications, as the system curses library on OpenBSD, FreeBSD, and macOS, and in environments such as Cygwin and MinGW.

### How it is used

Package users depend on ncurses both directly and indirectly. Developers link libncurses, libpanel, libmenu, and libform for full-screen terminal apps; shell scripts use tput and reset; terminfo maintainers use tic and infocmp; and many interactive CLI tools pull it in through readline-like or TUI dependencies.

### Why package nerds care

ncurses is foundational packaging infrastructure. It is small enough to feel mundane, but it sits under installers, text editors, terminal multiplexers, system configuration tools, roguelikes, debuggers, and countless TUIs. ABI variants, wide-character builds, terminfo database paths, and compatibility with system curses make it a perennial packaging concern.

### Timeline

- May 22, 1993: ncurses 0.7.2 appears in Thomas Dickey's reconstructed licensing history.
- November 5, 1993: ncurses 1.8.1 release documented in the same history.
- Mid-June 1995: 4.4BSD curses maintainer encourages switching to ncurses.
- March 24, 1996: ncurses 1.9.9e marks the end of Zeyd Ben-Halim's maintainership.
- April 6, 1996: Thomas Dickey begins patching his ncurses archive.
- December 31, 2022: ncurses 6.4 released, with the announcement summarizing its broad OS adoption.

### Related projects

- curses, pcurses, PDCurses, terminfo, termcap, X/Open Curses, BSD curses, GNU Screen, terminal UI applications

### Sources

- <https://formulae.brew.sh/formula/ncurses>
- <https://github.com/ThomasDickey/ncurses-snapshots>
- <https://invisible-island.net/ncurses/>
- <https://invisible-island.net/ncurses/ncurses-license.html>
- <https://lists.gnu.org/archive/html/info-gnu/2022-12/msg00010.html>


## Security Notes

library-like package without higher-risk signals.

- **Geiger risk:** green / low
- library-like package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** ncurses
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** yes
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - lib32ncurses-dev - 6.5+20250216-2: normalized package name match | Debian stable package indexes: lib32ncurses-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | developer's libraries for ncurses (32-bit) | https://invisible-island.net/ncurses/
- Debian apt - lib32ncurses6 - 6.5+20250216-2: normalized package name match | Debian stable package indexes: lib32ncurses6 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | shared libraries for terminal handling (32-bit) | https://invisible-island.net/ncurses/
- Debian apt - lib32ncursesw6 - 6.5+20250216-2: normalized package name match | Debian stable package indexes: lib32ncursesw6 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | shared libraries for terminal handling (wide character support) (32-bit) | https://invisible-island.net/ncurses/
- Debian apt - lib32tinfo6 - 6.5+20250216-2: normalized package name match | Debian stable package indexes: lib32tinfo6 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | shared low-level terminfo library for terminal handling (32-bit) | https://invisible-island.net/ncurses/
- Debian apt - libncurses-dev - 6.5+20250216-2: normalized package name match | Debian stable package indexes: libncurses-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | developer's libraries for ncurses | https://invisible-island.net/ncurses/
- Debian apt - libncurses6 - 6.5+20250216-2: normalized package name match | Debian stable package indexes: libncurses6 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | shared libraries for terminal handling | https://invisible-island.net/ncurses/
- Debian apt - libncursesw6 - 6.5+20250216-2: normalized package name match | Debian stable package indexes: libncursesw6 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | shared libraries for terminal handling (wide character support) | https://invisible-island.net/ncurses/
- Debian apt - libtinfo6 - 6.5+20250216-2: normalized package name match | Debian stable package indexes: libtinfo6 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | shared low-level terminfo library for terminal handling | https://invisible-island.net/ncurses/
- Debian apt - ncurses-base - 6.5+20250216-2: normalized package name match | Debian stable package indexes: ncurses-base from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | basic terminal type definitions | https://invisible-island.net/ncurses/
- Debian apt - ncurses-bin - 6.5+20250216-2: normalized package name match | Debian stable package indexes: ncurses-bin from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | terminal-related programs and man pages | https://invisible-island.net/ncurses/
- Debian apt - ncurses-doc - 6.5+20250216-2: normalized package name match | Debian stable package indexes: ncurses-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | developer's guide and documentation for ncurses | https://invisible-island.net/ncurses/
- Debian apt - ncurses-examples - 6.5+20250216-2: normalized package name match | Debian stable package indexes: ncurses-examples from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | test programs and examples for ncurses | https://invisible-island.net/ncurses/
- Debian apt - ncurses-term - 6.5+20250216-2: normalized package name match | Debian stable package indexes: ncurses-term from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | additional terminal type definitions | https://invisible-island.net/ncurses/
- Nix - ncurses: normalized package name match | nixpkgs package indexes: ncurses from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - lib32ncurses-dev - 6.4+20240113-1ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: lib32ncurses-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | developer's libraries for ncurses (32-bit) | https://invisible-island.net/ncurses/
- Ubuntu apt - lib32ncurses6 - 6.4+20240113-1ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: lib32ncurses6 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | shared libraries for terminal handling (32-bit) | https://invisible-island.net/ncurses/


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [aarch64-elf-gdb](https://www.automicvault.com/pkg/brew/aarch64-elf-gdb/) - Popular package that depends on this formula.
- [apachetop](https://www.automicvault.com/pkg/brew/apachetop/) - Popular package that depends on this formula.
- [arm-none-eabi-gdb](https://www.automicvault.com/pkg/brew/arm-none-eabi-gdb/) - Popular package that depends on this formula.
- [asciiquarium](https://www.automicvault.com/pkg/brew/asciiquarium/) - Popular package that depends on this formula.
- [atop](https://www.automicvault.com/pkg/brew/atop/) - Popular package that depends on this formula.
- [bash](https://www.automicvault.com/pkg/brew/bash/) - Popular package that depends on this formula.
- [btdu](https://www.automicvault.com/pkg/brew/btdu/) - Popular package that depends on this formula.
- [cdk](https://www.automicvault.com/pkg/brew/cdk/) - Shares av.db curated category or tags: c-library, cli, curses, developer-tools, libraries.
- [dialog](https://www.automicvault.com/pkg/brew/dialog/) - Shares av.db curated category or tags: cli, curses, developer-tools, terminal-ui.
- [expat](https://www.automicvault.com/pkg/brew/expat/) - Shares av.db curated category or tags: c-library, cli, developer-tools, libraries.
- [fstrm](https://www.automicvault.com/pkg/brew/fstrm/) - Shares av.db curated category or tags: c-library, cli, developer-tools, libraries.
- [libevent](https://www.automicvault.com/pkg/brew/libevent/) - Shares av.db curated category or tags: c-library, cli, developer-tools, libraries.
- [libxml2](https://www.automicvault.com/pkg/brew/libxml2/) - Shares av.db curated category or tags: c-library, cli, developer-tools, libraries.
- [libxo](https://www.automicvault.com/pkg/brew/libxo/) - Shares av.db curated category or tags: c-library, cli, developer-tools, libraries.
- [libxslt](https://www.automicvault.com/pkg/brew/libxslt/) - Shares av.db curated category or tags: c-library, cli, developer-tools, libraries.

## Combined YAML source

View the package source record on GitHub. [combined/ncurses.yml](https://github.com/automic-vault/db/blob/main/combined/ncurses.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
