# Install libunicode with Homebrew, apk, dnf, Nix, pacman, zypper

Modern C++20 Unicode library. Version 0.9.0 via Homebrew; verified 2026-06-07.

## Install

```sh
sudo av install brew:libunicode
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install libunicode
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add libunicode
```

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

- dnf (92%):

```sh
sudo dnf install libunicode
```

  Evidence: Fedora Rawhide package metadata: libunicode 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#libunicode
```

  Evidence: nixpkgs package indexes: pkgs/by-name/li/libunicode/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S libunicode
```

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

- zypper (92%):

```sh
sudo zypper install libunicode-devel
```

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

## Package facts

- **Package key:** brew:libunicode
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/libunicode>
- **Version:** 0.9.0
- **Source summary:** Modern C++20 Unicode library
- **Homepage:** <https://github.com/contour-terminal/libunicode>
- **Repository:** <https://github.com/contour-terminal/libunicode>
- **Upstream docs:** <https://github.com/contour-terminal/libunicode>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/contour-terminal/libunicode/archive/refs/tags/v0.9.0.tar.gz>
- **Last updated:** 2026-06-07T18:07:31Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- unicode-query (cli)
- unicode-query (alias)

## Build dependencies

- cmake

## 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: 0.9.0
- Package-manager updated: 2026-06-07
- Local data: ok
- Upstream repository: https://github.com/contour-terminal/libunicode
- Upstream latest detected: v0.9.0 (current)
## Project history and usage

libunicode is a modern C++20 Unicode library from the Contour Terminal ecosystem, focused on practical Unicode properties, segmentation, width calculation, and conversion APIs.

### Project history

The project describes its goal as painless Unicode support for C++ with simple APIs that feel familiar to C++ standard-library users. Its feature set includes Unicode Character Database property access, UTF-8 and UTF-32 conversion, wcwidth-style width calculation, grapheme segmentation, emoji and script segmentation, word segmentation, and a unicode-query command-line tool.

The v0.1.0 release on November 3, 2022 called itself an initial release after two and a half years and said the project had already been actively used by Contour Terminal. Later tags show a steady 0.x progression through v0.9.0 on April 9, 2026.

### Adoption history

The README names Contour Terminal Emulator as a user of the library. That adoption path explains the library's emphasis on terminal-relevant Unicode details such as grapheme clusters, width, variation selectors, emoji behavior, and text-run segmentation.

Packaging in Homebrew and other Unix-like package sets gives developers a small C++ alternative to larger Unicode stacks when they want terminal- or text-processing-oriented Unicode support without adopting ICU's older C/C++ API style.

### How it is used

Developers can add libunicode as a submodule or CMake dependency and link against unicode::unicode. Users can inspect text with the unicode-query CLI, while applications use the library for width decisions, segmentation, conversion, and Unicode property lookup.

### Why package nerds care

libunicode is package-nerd significant as a terminal-driven Unicode library: it focuses on the messy details that make modern terminal rendering hard, especially grapheme clusters, emoji sequences, variation selectors, and wcwidth-like behavior.

### Timeline

- 2020: The v0.1.0 release note says the first commit was in May 2020.
- 2022: v0.1.0 was released on November 3, 2022 after active use in Contour Terminal.
- 2023: v0.3.0 was tagged on March 1, 2023 and v0.4.0 on November 27, 2023.
- 2024: v0.6.0 was tagged on September 30, 2024.
- 2026: v0.9.0 was released on April 9, 2026 with normalization, segmentation, and SIMD conversion work.

### Related projects

- Contour Terminal Emulator is the primary named user and sibling project.
- Terminal Unicode Core is a related Contour specification addressing grapheme clusters, variation selectors, and cursor placement.
- ICU is the larger mature Unicode library that libunicode explicitly contrasts itself with in the README.

### Sources

- <https://contour-terminal.org/vt-extensions/unicode-core/>
- <https://github.com/contour-terminal/libunicode>
- <https://github.com/contour-terminal/libunicode/releases/tag/v0.1.0>
- <https://github.com/contour-terminal/libunicode/releases/tag/v0.9.0>
- <https://github.com/contour-terminal/libunicode/tags>


## 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:** libunicode
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - libunicode: normalized package name match | nixpkgs package indexes: pkgs/by-name/li/libunicode/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - libunicode - 0.7.0-r0: normalized package name match | Alpine Linux edge package indexes: libunicode from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Modern C++17 Unicode library | https://contour-terminal.org
- apk - libunicode-dev - 0.7.0-r0: normalized package name match | Alpine Linux edge package indexes: libunicode-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Modern C++17 Unicode library (development files) | https://contour-terminal.org
- apk - libunicode-doc - 0.7.0-r0: normalized package name match | Alpine Linux edge package indexes: libunicode-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Modern C++17 Unicode library (documentation) | https://contour-terminal.org
- apk - libunicode-tools - 0.7.0-r0: normalized package name match | Alpine Linux edge package indexes: libunicode-tools from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Modern C++17 Unicode library - query tools | https://contour-terminal.org
- dnf - libunicode - 0.9.0-1.fc45: normalized package name match | Fedora Rawhide package metadata: libunicode from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Modern C++20 Unicode Library | https://github.com/contour-terminal/libunicode
- dnf - libunicode-devel - 0.9.0-1.fc45: normalized package name match | Fedora Rawhide package metadata: libunicode-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for libunicode | https://github.com/contour-terminal/libunicode
- dnf - libunicode-tools - 0.9.0-1.fc45: normalized package name match | Fedora Rawhide package metadata: libunicode-tools from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Tools for libunicode | https://github.com/contour-terminal/libunicode
- pacman - libunicode - 0.9.0-1: normalized package name match | Arch Linux sync databases: libunicode from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Unicode and UTF-8 C++ library | https://github.com/contour-terminal/libunicode
- zypper - libunicode-devel - 0.6.0-1.4: normalized package name match | openSUSE Tumbleweed package metadata: libunicode-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Development files for libunicode | https://github.com/contour-terminal/libunicode
- zypper - libunicode-tools - 0.6.0-1.4: normalized package name match | openSUSE Tumbleweed package metadata: libunicode-tools from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Tools for libunicode | https://github.com/contour-terminal/libunicode
- zypper - libunicode0_6 - 0.6.0-1.4: normalized package name match | openSUSE Tumbleweed package metadata: libunicode0_6 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Library files for libunicode | https://github.com/contour-terminal/libunicode


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [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.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [bsdconv](https://www.automicvault.com/pkg/brew/bsdconv/) - Shares av.db curated category or tags: cli, developer-tools, library, text-processing.
- [cconv](https://www.automicvault.com/pkg/brew/cconv/) - Shares av.db curated category or tags: cli, developer-tools, text-processing, unicode.
- [unac](https://www.automicvault.com/pkg/brew/unac/) - Shares av.db curated category or tags: cli, developer-tools, text-processing, unicode.
- [uni](https://www.automicvault.com/pkg/brew/uni/) - Shares av.db curated category or tags: cli, developer-tools, text-processing, unicode.
- [uni2ascii](https://www.automicvault.com/pkg/brew/uni2ascii/) - Shares av.db curated category or tags: cli, developer-tools, text-processing, unicode.
- [align](https://www.automicvault.com/pkg/brew/align/) - Shares av.db curated category or tags: cli, developer-tools, text-processing.
- [cmigemo](https://www.automicvault.com/pkg/brew/cmigemo/) - Shares av.db curated category or tags: cli, developer-tools, text-processing.
- [decasify](https://www.automicvault.com/pkg/brew/decasify/) - Shares av.db curated category or tags: cli, developer-tools, text-processing.

## Combined YAML source

View the package source record on GitHub. [combined/libunicode.yml](https://github.com/automic-vault/db/blob/main/combined/libunicode.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
