# Install uni2ascii with Homebrew, apt, MacPorts, Nix

Bi-directional conversion between UTF-8 and various ASCII flavors. Version 4.20 via Homebrew; verified 2026-07-10. Also installable with debian: sudo apt install uni2ascii.

## 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
- **Version:** 4.20
- **Source summary:** Bi-directional conversion between UTF-8 and various ASCII flavors
- **Homepage:** <https://billposer.org/Software/uni2ascii.html>
- **Last updated:** 2026-07-10T10:41:25-04:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

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

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 4.20
## 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

## 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


## Combined YAML source

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