GNU Libidn is an implementation of the Stringprep, Punycode, and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group. It is used to prepare internationalized strings (such as domain name labels, usernames, and passwords) in order to increase the likelihood that string input and string comparison work in ways that make sense for typical users throughout the world. The library contains a generic Stringprep implementation that does Unicode 3.2 NFKC normalization, mapping and prohibition of characters, and bidirectional character handling. Profiles for iSCSI, Kerberos 5, Nameprep, SASL, and XMPP are included. Punycode and ASCII Compatible Encoding (ACE) via IDNA are supported.


Libidn is now considered stable, and is being used in production at many sites world-wide. The command-line tools, examples, etc are now licensed under GPL version 3. Documentation, translations, and gnulib files have been updated.

URL: GNU IDN Library - Libidn - GNU Project - Free Software Foundation (FSF)