idn2\_to\_unicode\_8z8z(3) libidn2 idn2\_to\_unicode\_8z8z(3)

# [NAME](#NAME)

idn2\_to\_unicode\_8z8z - API function

# [SYNOPSIS](#SYNOPSIS)

**#include &lt;idn2.h&gt;**

**int idn2\_to\_unicode\_8z8z(const char * input, char \** output, int flags);**

# [ARGUMENTS](#ARGUMENTS)

[const char * input](#const)

Input zero-terminated UTF-8 string.

[char \** output](#char)

Newly allocated UTF-8 output string.

[int flags](#int)

Currently unused.

# [DESCRIPTION](#DESCRIPTION)

Converts a possibly ACE encoded domain name in UTF-8 format into a UTF-8 string (punycode decoding). The output buffer will be zero-terminated and must be deallocated by the caller.

*output* may be NULL to test lookup of *input* without allocating memory.

# [SINCE](#SINCE)

2.0.0

# [REPORTING BUGS](#REPORTING_BUGS)

Report bugs to &lt;help-libidn@gnu.org&gt;.  
General guidelines for reporting bugs: https://www.gnu.org/gethelp/  
Libidn2 home page: https://www.gnu.org/software/libidn2/

# [COPYRIGHT](#COPYRIGHT)

Copyright © 2002-2025 Simon Josefsson.  
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.

# [SEE ALSO](#SEE_ALSO)

The full documentation for **libidn2** is maintained as a Texinfo manual. If the **info** and **libidn2** programs are properly installed at your site, the command

**info libidn2**

should give you access to the complete manual. As an alternative you may obtain the manual from:

**https://www.gnu.org/software/libidn/libidn2/manual/**

2.3.8 libidn2

---

Document: idn2_to_unicode_8z8z(3) from libidn2 2.3.8-r9 (Chainguard OS)
Source: https://gitlab.com/libidn/libidn2
