# Install libidn with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

International domain name library. Version 1.44 via Homebrew; verified 2026-06-18.

## Install

```sh
sudo av install brew:libidn
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install libidn
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install libidn
```

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

### Linux

- apk (92%):

```sh
sudo apk add libidn
```

  Evidence: Alpine Linux edge package indexes: libidn from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install idn
```

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

- dnf (92%):

```sh
sudo dnf install libidn
```

  Evidence: Fedora Rawhide package metadata: libidn from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#libidn
```

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

- pacman (92%):

```sh
sudo pacman -S libidn
```

  Evidence: Arch Linux sync databases: libidn from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install libidn-devel
```

  Evidence: openSUSE Tumbleweed package metadata: libidn-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:libidn
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/libidn>
- **Version:** 1.44
- **Source summary:** International domain name library
- **Homepage:** <https://www.gnu.org/software/libidn/>
- **Repository:** <https://git.savannah.gnu.org/git/libidn.git>
- **Upstream docs:** <https://www.gnu.org/software/libidn/manual/libidn.html>
- **License:** GPL-2.0-or-later OR LGPL-3.0-or-later
- **Source archive:** <https://ftpmirror.gnu.org/gnu/libidn/libidn-1.44.tar.gz>
- **Last updated:** 2026-06-18T00:35:02Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- idn (cli)
- idn (alias)

## Build dependencies

- pkgconf

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.44
- Package-manager updated: 2026-06-18
- Local data: ok
- Upstream repository: https://www.gnu.org/software/libidn/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

GNU Libidn is the original GNU implementation of internationalized-domain-name handling for the IDNA2003 era, with Stringprep, Nameprep, Punycode, and related TLD validation APIs.

### Project history

Libidn started as an implementation of the IETF IDN working group's Stringprep and IDNA work. The GNU manual's history section records version 0.0.0 on 2002-11-05 with Stringprep support, version 0.1.0 on 2003-01-05 with IDNA and Punycode support, and version 0.1.11 on 2003-02-26 with a command-line interface.

The March 2003 IDNA RFCs standardized the ASCII-compatible encoding approach that let applications represent non-ASCII domain labels through ASCII DNS labels beginning with the xn-- prefix. Libidn turned that standards stack into a reusable C library and command-line tool.

The manual records a GNU libc add-on proposal in March 2003 and integration in March 2004. The project page notes Fedora Core 3 included Libidn 0.5.6 in November 2004, and that version 1.0 was released on 2007-07-31 to mark stable status after production use.

### Adoption history

Libidn spread through network clients and authentication-related software that needed to accept internationalized names while still speaking ASCII DNS or protocol internals. The GNU project page names GNU SASL and Shishi as users for processing user names and passwords.

After IDNA2008 replaced the IDNA2003 standards, Libidn remained important for compatibility with older software and older protocol behavior, while GNU Libidn2 became the successor implementation for IDNA2008 and TR46.

### How it is used

The idn command converts domain names to and from ASCII Compatible Encoding, and the library exposes Stringprep, Punycode, IDNA, and TLD APIs for applications that need deterministic internationalized-name handling.

### Why package nerds care

Libidn is a standards-history package: it ties DNS, Unicode 3.2-era string preparation, Punycode, application compatibility, and distro policy into one small dependency. Package maintainers often encounter it when deciding whether old software needs IDNA2003 compatibility or can move to libidn2.

Its glibc add-on history also makes it a useful example of how networking behavior can move between optional libraries, libc, and application-level dependencies.

### Timeline

- 2002: Version 0.0.0 released with Stringprep implementation.
- 2003: Version 0.1.0 added IDNA and Punycode and became part of the GNU project.
- 2003: Version 0.1.11 added the command-line interface.
- 2004: GNU libc add-on integration recorded by the Libidn manual.
- 2007: Version 1.0 released to mark stable status.

### Related projects

- GNU Libidn2 is the successor for IDNA2008 and TR46.
- RFC 3490, RFC 3491, RFC 3492, and RFC 3454 are the main IDNA2003-era standards behind the package.
- GNU SASL and Shishi are named GNU consumers in the project documentation.

### Sources

- <https://datatracker.ietf.org/doc/rfc3490/>
- <https://www.gnu.org/software/libidn/>
- <https://www.gnu.org/software/libidn/manual/html_node/History.html>
- <https://www.gnu.org/software/libidn/manual/libidn.html>
- <https://www.rfc-editor.org/rfc/rfc3454>
- <https://www.rfc-editor.org/rfc/rfc3491>
- <https://www.rfc-editor.org/rfc/rfc3492>


## Security Notes

library-like package without higher-risk signals.

- **Geiger risk:** green / low
- library-like package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** libidn
- **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 - idn - 1.43-1: normalized package name match | Debian stable package indexes: idn from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Command line interface to GNU Libidn | https://www.gnu.org/software/libidn/
- Debian apt - libidn-dev - 1.43-1: normalized package name match | Debian stable package indexes: libidn-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Development files for GNU Libidn, an IDN library | https://www.gnu.org/software/libidn/
- Debian apt - libidn12 - 1.43-1: normalized package name match | Debian stable package indexes: libidn12 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU Libidn library, implementation of IETF IDN specifications | https://www.gnu.org/software/libidn/
- Nix - libidn: normalized package name match | nixpkgs package indexes: pkgs/by-name/li/libidn/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - idn - 1.42-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: idn from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Command line interface to GNU Libidn | https://www.gnu.org/software/libidn/
- Ubuntu apt - libidn-dev - 1.42-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libidn-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Development files for GNU Libidn, an IDN library | https://www.gnu.org/software/libidn/
- Ubuntu apt - libidn11-dev - 1.42-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libidn11-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Transitional development package for GNU Libidn | https://www.gnu.org/software/libidn/
- Ubuntu apt - libidn12 - 1.42-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libidn12 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | GNU Libidn library, implementation of IETF IDN specifications | https://www.gnu.org/software/libidn/
- apk - libidn - 1.43-r0: normalized package name match | Alpine Linux edge package indexes: libidn from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Encode/Decode library for internationalized domain names | https://www.gnu.org/software/libidn
- apk - libidn-dev - 1.43-r0: normalized package name match | Alpine Linux edge package indexes: libidn-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Encode/Decode library for internationalized domain names (development files) | https://www.gnu.org/software/libidn
- apk - libidn-doc - 1.43-r0: normalized package name match | Alpine Linux edge package indexes: libidn-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Encode/Decode library for internationalized domain names (documentation) | https://www.gnu.org/software/libidn
- dnf - libidn - 1.43-4.fc44: normalized package name match | Fedora Rawhide package metadata: libidn from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Internationalized Domain Name support library | http://www.gnu.org/software/libidn/
- dnf - libidn-devel - 1.43-4.fc44: normalized package name match | Fedora Rawhide package metadata: libidn-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for the libidn library | http://www.gnu.org/software/libidn/
- dnf - libidn-java - 1.43-4.fc44: normalized package name match | Fedora Rawhide package metadata: libidn-java from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Java port of the GNU Libidn library | http://www.gnu.org/software/libidn/
- dnf - libidn-javadoc - 1.43-4.fc44: normalized package name match | Fedora Rawhide package metadata: libidn-javadoc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Javadoc for libidn-java | http://www.gnu.org/software/libidn/
- pacman - libidn - 1.43-1: normalized package name match | Arch Linux sync databases: libidn from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Implementation of the Stringprep, Punycode and IDNA specifications | https://www.gnu.org/software/libidn/


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [ghostscript](https://www.automicvault.com/pkg/brew/ghostscript/) - Popular package that depends on this formula.
- [gloox](https://www.automicvault.com/pkg/brew/gloox/) - Popular package that depends on this formula.
- [hesiod](https://www.automicvault.com/pkg/brew/hesiod/) - Popular package that depends on this formula.
- [mcabber](https://www.automicvault.com/pkg/brew/mcabber/) - Popular package that depends on this formula.
- [pidgin](https://www.automicvault.com/pkg/brew/pidgin/) - Popular package that depends on this formula.
- [tgif](https://www.automicvault.com/pkg/brew/tgif/) - Popular package that depends on this formula.
- [libidn2](https://www.automicvault.com/pkg/brew/libidn2/) - Package name indicates the same formula family.
- [adns](https://www.automicvault.com/pkg/brew/adns/) - Shares av.db curated category or tags: cli, dns, networking.
- [aliddns](https://www.automicvault.com/pkg/brew/aliddns/) - Shares av.db curated category or tags: cli, dns, networking.
- [bind](https://www.automicvault.com/pkg/brew/bind/) - Shares av.db curated category or tags: cli, dns, networking.
- [c-ares](https://www.automicvault.com/pkg/brew/c-ares/) - Shares av.db curated category or tags: cli, dns, networking.
- [cdncheck](https://www.automicvault.com/pkg/brew/cdncheck/) - Shares av.db curated category or tags: cli, dns, networking.
- [checkdmarc](https://www.automicvault.com/pkg/brew/checkdmarc/) - Shares av.db curated category or tags: cli, dns, networking.
- [chinadns-c](https://www.automicvault.com/pkg/brew/chinadns-c/) - Shares av.db curated category or tags: cli, dns, networking.
- [inetutils](https://www.automicvault.com/pkg/brew/inetutils/) - Local package facts share a topical domain. Shared terms: cli, gnu, networking.
- [wget](https://www.automicvault.com/pkg/brew/wget/) - Local package facts share a topical domain. Shared terms: cli, gnu, networking.

## Combined YAML source

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