# Install libidn with Homebrew

International domain name library. Version 1.44 via Homebrew; verified from local package data.

## Install

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

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install libidn
```

  Evidence: provider-native install command

## Package facts

- **Package key:** brew:libidn
- **Package manager:** Homebrew
- **Version:** 1.44
- **Source summary:** International domain name library
- **Homepage:** <https://www.gnu.org/software/libidn/>
- **Generated:** 2026-08-03T00:40:33+00:00

## Executables

- idn (alias)

## Install behavior

- Bottle: not available

## Freshness

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


## 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
- curated package history
- pkgdb category and tag curation
