idn (1) - Linux Manuals

idn: Internationalized Domain Names command line tool


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.

-h, --help
Print help and exit
-V, --version
Print version and exit
-s, --stringprep
Prepare string according to nameprep profile
-d, --punycode-decode
Decode Punycode
-e, --punycode-encode
Encode Punycode
-a, --idna-to-ascii
Convert to ACE according to IDNA (default mode)
-u, --idna-to-unicode
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
-n, --nfkc
Normalize string according to Unicode v3.2 NFKC
-p, --profile=STRING
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: bug-libidn [at]
GNU Libidn home page: <>
General help using GNU software: <>


Copyright © 2013 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.