GNU Libidn is a fully documented implementation of the Stringprep, Punycode and IDNA specifications. Libidn's purpose is to encode and decode internationalized domain name strings. There are native C, C# and Java libraries.

GNU Libidn is a fully documented implementation of the Stringprep, Punycode and IDNA specifications. Libidn's purpose is to encode and decode internationalized domain name strings. There are native C, C# and Java libraries.

Libidn2 is a free software implementation of IDNA2008. Libidn2 is part of the GNU Libidn project. Libidn2 is in beta testing, but is believed to provide complete IDNA2008 functionality (i.e., both lookup and register).

Libidn2 is a free software implementation of IDNA2008. Libidn2 is part of the GNU Libidn project. Libidn2 is in beta testing, but is believed to provide complete IDNA2008 functionality (i.e., both lookup and register).

Libidn is a fully documented implementation of the Stringprep, Punycode and IDNA specifications. Libidn's purpose is to encode and decode internationalized domain names and provides native C, C# and Java libraries.

Libidn is a fully documented implementation of the Stringprep, Punycode and IDNA specifications. Libidn's purpose is to encode and decode internationalized domain names and provides native C, C# and Java libraries.

Libidn is a fully documented implementation of the Stringprep, Punycode and IDNA specifications. Libidn's purpose is to encode and decode internationalized domain names and provides native C, C# and Java libraries.

Libidn is a fully documented implementation of the Stringprep, Punycode and IDNA specifications. Libidn's purpose is to encode and decode internationalized domain names and provides native C, C# and Java libraries.