macOS
brew install luitlocal Homebrew formula metadata
sudo port install luitMacPorts ports tree · x11/luit/Portfile · source: api.github.com
brew
Filter run between arbitrary application and UTF-8 terminal emulator. Version 20250912 via Homebrew; verified from local package data.
install
brew install luitlocal Homebrew formula metadata
sudo port install luitMacPorts ports tree · x11/luit/Portfile · source: api.github.com
sudo apt install luitDebian stable package indexes · luit · source: deb.debian.org
sudo dnf install luitFedora Rawhide package metadata · luit · source: dl.fedoraproject.org
nix profile install nixpkgs#luitnixpkgs package indexes · pkgs/by-name/lu/luit/package.nix · source: api.github.com
sudo pacman -S luitArch Linux sync databases · luit · source: geo.mirror.pkgbuild.com
sudo zypper install luitopenSUSE Tumbleweed package metadata · luit · source: download.opensuse.org
overview
Filter run between arbitrary application and UTF-8 terminal emulator
history
luit is a terminal encoding filter that sits between an application and a UTF-8 terminal emulator, translating application output into UTF-8 and terminal input back into the locale encoding.
Juliusz Chroboczek wrote luit for the XFree86 Project in 2001-2002. The official history credits later fixes and improvements from several people, especially Tomohiro Kubota's CJK encoding extensions, and notes that the program uses the MIT-X11 license like xterm.
Thomas E. Dickey adopted luit maintenance in 2006 after a period without a maintainer, motivated by keeping it useful with xterm. The Invisible Island history emphasizes two long-running maintenance themes: correcting distribution and path changes made in Xorg-era packaging, and reducing dependence on the lightly maintained font-encoding library by implementing efficient iconv-based conversion.
As of the 2.0 line, luit deprecated the font-encoding library path while preserving support for `.enc` files and broader encoding selection. The official page documents the practical consequences for packagers: encoding data is often packaged separately, dependencies are sometimes incomplete, and luit is not itself an X application even though it is most useful with xterm.
luit began inside the XFree86 and Xorg terminal ecosystem and became a small but widely packaged Unix utility. The maintainer's page lists portability across SVR4 Unix, AIX, Tru64, BSD systems, macOS, and Linux, and the package appears in common Unix package sets such as Homebrew, Debian, Fedora, MacPorts, Nix, Arch, and openSUSE.
Its adoption is mostly invisible: users encounter it through xterm or legacy-locale workflows rather than as a standalone application. That invisibility is part of its packaging importance, because terminal emulators and old applications still need reliable conversion behavior when UTF-8 terminals meet non-UTF-8 programs.
The manpage describes luit as a filter run between an arbitrary application and a UTF-8 terminal emulator. It is mainly used with xterm, but the official page stresses that luit itself is not an X application.
Power users and packagers use options such as `-list-fontenc` and `-encoding` to inspect and choose encoding tables, especially when diagnosing missing CJK or legacy encoding data.
luit matters to package nerds because it is a small compatibility utility with a long tail of platform-specific behavior. It exposes classic distribution issues: upstream fork history, XFree86/Xorg lineage, font-encoding data split into separate packages, iconv availability, and packagers accidentally adding unnecessary X library dependencies.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
luit | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://invisible-island.net/luit/
install metadata
| Package key | brew:luit |
|---|---|
| Version | 20250912 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/luit |
| Homepage | https://invisible-island.net/luit/ |
| Upstream docs | https://invisible-island.net/luit/luit.html |
| License | MIT |
| Source archive | https://invisible-mirror.net/archives/luit/luit-20250912.tgz |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | luit |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
luit 2.0.20240910-1
locale and ISO 2022 support for Unicode terminals
https://invisible-island.net/luit/
sudo apt install luitluit
nix profile install nixpkgs#luitluit 2.0.20250912-7.fc44
Locale and ISO 2022 support for Unicode terminals
https://invisible-island.net/luit/
sudo dnf install luitluit 20250912-1
Filter that can be run between an arbitrary application and a UTF-8 terminal emulator
https://invisible-island.net/luit/luit.html
sudo pacman -S luitluit 20230201-1.7
Locale and ISO 2022 support for Unicode terminals
http://invisible-island.net/luit/
sudo zypper install luitluit
sudo port install luitsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.