# Install uniutils with Homebrew, apt, zypper

Manipulate and analyze Unicode text. Version 2.28 via Homebrew; verified from local package data. Also installable with debian: sudo apt install uniutils.

## Install

```sh
sudo av install brew:uniutils
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install uniutils
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install uniutils
```

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

- zypper (92%):

```sh
sudo zypper install uniutils
```

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

## Package facts

- **Package key:** brew:uniutils
- **Package manager:** Homebrew
- **Version:** 2.28
- **Source summary:** Manipulate and analyze Unicode text
- **Homepage:** <https://billposer.org/Software/unidesc.html>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- ExplicateUTF8 (alias)
- unidesc (alias)
- unifuzz (alias)
- unihist (alias)
- uniname (alias)
- unireverse (alias)
- unisurrogate (alias)
- utf8lookup (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 2.28
## Project history and usage

uniutils is a small POSIX C toolkit for inspecting, manipulating, and generating Unicode text from the command line. Its history is modest but source-backed: the author's page documents the tool set, release changes, language, environment, version, and package links.

### Project history

The official page presents uniutils as a set of programs for Unicode text analysis. Its documented tools include uniname, unidesc, unihist, ExplicateUTF8, utf8lookup, unireverse, unifuzz, and unisurrogate.

The last documented release on the official page is 2.28, last modified 2009-04-25. The change log shows late releases adding Unicode range reporting, UTF-8 string reversal, fuzz input generation, Unicode 5.1 data updates, and UTF-16 surrogate decomposition.

### Adoption history

uniutils appears in the official page's package links for Debian, FreeBSD, SUSE, Ubuntu, and other older package indexes, and the input confirms availability through Homebrew, Debian, Ubuntu, and openSUSE. Its adoption is therefore mostly the long tail of Unix text-processing packages rather than a large upstream community.

### How it is used

The tools are for terminal-level Unicode forensics: naming code points, validating UTF-8, identifying script ranges, building character histograms, reversing strings by character instead of byte, looking up UTF-8 encodings, generating problematic Unicode input, and decomposing non-BMP characters into UTF-16 surrogates.

Package users are likely to reach for uniutils when debugging mojibake, invisible characters, invalid UTF-8, unfamiliar scripts, font gaps, or parser behavior around odd Unicode input.

### Why package nerds care

uniutils is package-nerd significant as a classic small Unix toolbox: narrow executables, no daemon, no config, no credentials, and enough Unicode knowledge to solve problems that general-purpose text tools hide.

Its niche status is also the point. A package manager keeps these old, sharp tools discoverable so users do not have to reinvent one-off scripts for codepoint inspection or malformed UTF-8 testing.

### Timeline

- 2000s: uniutils evolved as a POSIX C toolkit for Unicode text analysis.
- 2.24: Added Unirev, later renamed unireverse.
- 2.26: Added unifuzz and changed licensing to GPLv3 for that release line.
- 2.27: Updated character data to Unicode 5.1.
- 2009: Version 2.28 added unisurrogate and is listed as the current version on the official page.

### Related projects

- The toolkit overlaps with Unix text filters, Unicode database tools, iconv-adjacent workflows, and fuzzing utilities. The official utf8lookup script depends on the separate Ascii2binary utility.

### Sources

- <https://billposer.org/Software/unidesc.html>
- source_facts.executables
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- Debian apt - uniutils - 2.28-2: normalized package name match | Debian stable package indexes: uniutils from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Tools for finding out what is in a Unicode file | https://billposer.org/Software/unidesc.html
- Ubuntu apt - uniutils - 2.27-2build1: normalized package name match | Ubuntu 24.04 LTS package indexes: uniutils from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Tools for finding out what is in a Unicode file
- zypper - uniutils - 2.28-1.4: normalized package name match | openSUSE Tumbleweed package metadata: uniutils from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Unicode utilities | https://billposer.org/Software/unidesc.html


## Combined YAML source

View the package source record on GitHub. [combined/uniutils.yml](https://github.com/mxcl/pkgdb/blob/main/combined/uniutils.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
