# Install uni2ascii with Homebrew, apt, MacPorts, Nix

Bi-directional conversion between UTF-8 and various ASCII flavors. Version 4.20 via Homebrew; verified 2026-06-19.

## Install

```sh
sudo av install brew:uni2ascii
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install uni2ascii
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install uni2ascii
```

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

### Linux

- Debian apt (92%):

```sh
sudo apt install uni2ascii
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#uni2ascii
```

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

## Package facts

- **Package key:** brew:uni2ascii
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/uni2ascii>
- **Version:** 4.20
- **Source summary:** Bi-directional conversion between UTF-8 and various ASCII flavors
- **Homepage:** <https://billposer.org/Software/uni2ascii.html>
- **Upstream docs:** <https://billposer.org/Software/uni2ascii.html>
- **License:** GPL-3.0-only
- **Source archive:** <https://billposer.org/Software/Downloads/uni2ascii-4.20.tar.bz2>
- **Last updated:** 2026-06-19T12:33:03-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- ascii2uni (cli)
- u2a (cli)
- uni2ascii (cli)
- ascii2uni (alias)
- u2a (alias)
- uni2ascii (alias)

## Dependencies

- gettext

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 4.20
- Package-manager updated: 2026-06-19
- Local data: ok
- Upstream repository: https://billposer.org/Software/uni2ascii.html
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

uni2ascii is a pair of Unix-style conversion programs, `uni2ascii` and `ascii2uni`, for translating between UTF-8 Unicode and many 7-bit ASCII representations. The official page lists more than thirty supported representations, including HTML, SGML, XML, OOXML, Unicode-standard U+ notation, URI escapes, quoted-printable, POSIX charmap formats, programming-language escapes, and related formats.

### Project history

The project originated as a Unicode escape conversion utility and, by version 2.0, replaced the original Python implementation with a C program. The author's changelog says that rewrite added more output forms, improved speed and error reporting, and handled the entire Unicode range rather than only the BMP.

Version 2.1 added `ascii2uni`, the inverse program that converts ASCII escape forms back to UTF-8 Unicode. Later releases expanded the set of recognized notations and moved from many separate format flags to the single `-a` format selector in version 4.0.

The official homepage lists version 4.20 as current and last modified on 2019-06-28, while the published changelog on the page highlights 2010-2011 maintenance around Debian and NetBSD bug fixes, POSIX portability, and conversion semantics.

### Adoption history

The official homepage explicitly lists package links for Arch Linux, Debian stable/testing/unstable, FreeBSD, MacPorts, Fink, OpenPackage, Red Hat/Fedora RPMs, SUSE, and Ubuntu. The supplied package facts show continuing package-manager presence in Homebrew, Debian, Ubuntu, MacPorts, and Nix.

This is a classic small Unix utility adoption story: the upstream site provides tarballs and manpages, while operating-system distributions make the commands available for scripts, build systems, documentation tooling, and text-cleanup workflows.

### How it is used

`uni2ascii` reads UTF-8 text and writes an ASCII representation such as HTML numeric references, URI escapes, quoted-printable, U+ notation, programming-language escapes, or approximate ASCII replacements. The official page gives pipeline examples where `ascii2uni` and `uni2ascii` are chained to convert one escape syntax to another through Unicode.

The manpage documents stdin/stdout behavior and many format choices, so the tool fits shell pipelines. The homepage also calls out practical use cases: embedding Unicode in program source, debugging, and entering Unicode into systems that can process Unicode but are not 8-bit clean.

### Why package nerds care

uni2ascii matters to package and shell users because it solves a narrow but persistent portability problem: moving Unicode text through tools, source files, logs, markup, and legacy systems that expect ASCII-safe representations.

Its niche is older and lower-level than modern Unicode pickers. Where `uni` helps identify and search characters, uni2ascii is about conversion formats and reversible or approximate transformations, which makes it valuable in scripts and regression tests.

### Timeline

- Version 2.0: Original Python program replaced by a faster C implementation.
- Version 2.1: `ascii2uni` added as the inverse of `uni2ascii`.
- Version 4.0: Format selection consolidated under the `-a` option.
- 2011: Version 4.18 changelog records Debian and NetBSD-related fixes.
- 2019: Homepage lists version 4.20 and last modification date 2019-06-28.

### Related projects

- The official page names enca, iconv, recode, and uniconv for conversion between UTF-8 and other encodings.
- The same page points to Bill Poser's ascii2binary/binary2ascii and Unicode Utilities suite for adjacent text and Unicode inspection tasks.

### Sources

- <https://www.billposer.org/Software/Uni2AsciiChangeLog.html>
- <https://www.billposer.org/Software/uni2ascii.html>
- <https://www.billposer.org/Software/uni2ascii_man.html>
- input.source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

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

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** uni2ascii
- **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

- Debian apt - uni2ascii - 4.20-1: normalized package name match | Debian stable package indexes: uni2ascii from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | UTF-8 to 7-bit ASCII and vice versa converter | https://billposer.org/Software/uni2ascii.html
- Nix - uni2ascii: normalized package name match | nixpkgs package indexes: pkgs/by-name/un/uni2ascii/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - uni2ascii - 4.18-6: normalized package name match | Ubuntu 24.04 LTS package indexes: uni2ascii from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | UTF-8 to 7-bit ASCII and vice versa converter | https://billposer.org/Software/uni2ascii.html
- MacPorts - uni2ascii: normalized package name match | MacPorts ports tree: textproc/uni2ascii/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## 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.
- [gettext](https://www.automicvault.com/pkg/brew/gettext/) - Runtime dependency declared by Homebrew.
- [bsdconv](https://www.automicvault.com/pkg/brew/bsdconv/) - Shares av.db curated category or tags: cli, conversion, developer-tools, text-processing.
- [cconv](https://www.automicvault.com/pkg/brew/cconv/) - Shares av.db curated category or tags: cli, developer-tools, text-processing, unicode.
- [libunicode](https://www.automicvault.com/pkg/brew/libunicode/) - 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.
- [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.
- [ascii2binary](https://www.automicvault.com/pkg/brew/ascii2binary/) - Local package facts share a topical domain. Shared terms: ascii, cli, conversion, developer, developer-tools.
- [wdiff](https://www.automicvault.com/pkg/brew/wdiff/) - Local package facts share a topical domain. Shared terms: between, cli, developer, developer-tools, gettext.

## Combined YAML source

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