Libidn2 is a free software implementation of IDNA2008 and TR46.

RFC 5890: https://tools.ietf.org/html/rfc5890
RFC 5891: https://tools.ietf.org/html/rfc5891
RFC 5892: https://tools.ietf.org/html/rfc5892
RFC 5893: https://tools.ietf.org/html/rfc5893
TR46: http://www.unicode.org/reports/tr46/

Libidn2 uses GNU libunistring for Unicode processing and GNU libiconv
for character set conversion.

https://www.gnu.org/software/libunistring/
https://www.gnu.org/software/libiconv/

Libidn2 is believed to be a complete IDNA2008 and TR46 implementation,
but has yet to be as extensively used as the IDNA2003 Libidn library.
