Scroll to navigation

IDN(1) User Commands IDN(1)


idn - Internationalized Domain Names command line tool


idn [OPTION]... [STRINGS]...


Internationalized Domain Name (IDN) convert STRINGS, or standard input.

Command line interface to the internationalized domain name library.

All strings are expected to be encoded in the preferred charset used by your locale. Use --debug to find out what this charset is. You can override the charset used by setting environment variable CHARSET.

To process a string that starts with '-', for example '-foo', use '--' to signal the end of parameters, as in: idn --quiet -a -- -foo

Mandatory arguments to long options are mandatory for short options too.

Print help and exit
Print version and exit
Prepare string according to nameprep profile
Decode Punycode
Encode Punycode
Convert to ACE according to IDNA (default mode)
Convert from ACE according to IDNA
Toggle IDNA AllowUnassigned flag (default off)
Toggle IDNA UseSTD3ASCIIRules flag (default off)
Don't check string for TLD specific rules Only for --idna-to-ascii and --idna-to-unicode
Normalize string according to Unicode v3.2 NFKC
Use specified stringprep profile instead Valid stringprep profiles: Nameprep iSCSI Nodeprep Resourceprep trace SASLprep
Print debugging information
Silent operation


Written by Simon Josefsson.


Report bugs to:
GNU Libidn home page: <>
General help using GNU software: <>


Copyright © 2022 Simon Josefsson. License GPLv3+: GNU GPL version 3 or later <>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.


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

info idn

should give you access to the complete manual.

June 2022 GNU Libidn 1.41