macOS
brew install idutilslocal Homebrew formula metadata
sudo port install idutilsMacPorts ports tree · devel/idutils/Portfile · source: api.github.com
brew
ID database and query tools. Version 4.6 via Homebrew; verified 2026-06-09.
install
brew install idutilslocal Homebrew formula metadata
sudo port install idutilsMacPorts ports tree · devel/idutils/Portfile · source: api.github.com
nix profile install nixpkgs#idutilsnixpkgs package indexes · pkgs/by-name/id/idutils/package.nix · source: api.github.com
sudo zypper install idutilsopenSUSE Tumbleweed package metadata · idutils · source: download.opensuse.org
overview
ID database and query tools
history
GNU idutils is a family of command-line tools for building and querying an ID database: a token index over a set of files. The manual describes the database as containing file names, tokens, and a sparse matrix connecting tokens to the files where they appear.
The package sits in the lineage of pre-LSP code navigation: mkid builds the index, lid and related tools query it, and developers get fast answers about identifiers, includes, strings, and file names across large source trees.
The mkid program predates GNU idutils. The historical notes preserved in the idutils source tree say Greg McGary posted mkid to comp.sources.unix in September 1987; Tom Horsley later led maintenance and released mkid2 in March 1991; McGary resumed maintenance until 2000.
GNU idutils generalized that idea into a suite: mkid for database creation, lid for token queries, fid for tokens in files, fnid for file-name lookup, xtokid for scanner testing, and historical specializations of lid. The GNU manual presents the tools as useful for large software projects and large text collections.
GNU release archives show packaged id-utils 3.2 in 1996, a 4.0 release in 2005, 4.x releases through 2012, and a Savannah git repository for the maintained source.
idutils belongs to the older Unix developer-tool ecosystem alongside ctags, etags, grep, find, and early source browsers. Its adoption came from users who wanted a reusable token index before interactive IDE indexing became common.
Package metadata shows it remains available through Homebrew, MacPorts, Nix, and openSUSE-style package names. That longevity matters: the tool has outlived many editor-specific indexing systems because it is small, scriptable, and independent of any single editor.
A typical workflow is to run mkid over a source tree and then query the resulting database with lid or related commands. The manual's examples include finding files that reference a header, searching memos for a project token, and invoking an editor on files containing a function or variable.
Although ID originally stood for identifier, the manual is explicit that idutils indexes more than identifiers: it also treats numeric constants and some string contents as searchable tokens.
GNU idutils is interesting because it packages source-code navigation as plain Unix data plumbing. The ID database is a compact artifact that can be regenerated, moved, queried, and scripted without a language server or project model.
It also preserves a pre-web-search, pre-IDE philosophy of code search: build a specialized local index once, then answer many small questions quickly from shell commands.
security posture
broad file, network, media, or database tool signal.
blue risk · medium confidence · tool
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 |
|---|---|---|---|
aid | cli | global executable | |
defid | cli | global executable | |
eid | cli | global executable | |
fid | cli | global executable | |
fnid | cli | global executable | |
lid | cli | global executable | |
mkid | cli | global executable | |
xtokid | 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://www.gnu.org/software/idutils/
install metadata
| Package key | brew:idutils |
|---|---|
| Version | 4.6 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/idutils |
| Homepage | https://www.gnu.org/software/idutils/ |
| Repository | https://git.savannah.gnu.org/cgit/idutils.git |
| Upstream docs | https://www.gnu.org/software/idutils |
| License | GPL-3.0-or-later |
| Source archive | https://ftpmirror.gnu.org/gnu/idutils/idutils-4.6.tar.xz |
| Last updated | 2026-06-09T14:55:45+02:00 |
| Pulse | updated |
| Bottle | available (on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | idutils |
| Version Scheme | 0 |
| Revision | 1 |
| Conflicts With |
|
| 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.
idutils
nix profile install nixpkgs#idutilsidutils 4.6-5.6
Language-Independent Identifier Database Tool
http://www.gnu.org/software/idutils/
sudo zypper install idutilsidutils-lang 4.6-5.6
Translations for package idutils
http://www.gnu.org/software/idutils/
sudo zypper install idutils-langidutils
sudo port install idutilssource 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.