idn man page

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.

Reporting Bugs

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


July 2016 idn 1.33 User Commands