IDN(1)

πŸ’– IDN(1) β€” the idn girlie's manual πŸ’–

so like… idn is the Internationalized Domain Names command line tool, and yes bestie, she ATE. ✨


🌸 NAME 🌸

idn β€” Internationalized Domain Names command line tool πŸ¦‹


πŸŽ€ SYNOPSIS πŸŽ€

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

πŸ’… DESCRIPTION πŸ’…

Internationalized Domain Name (IDN) convert STRINGS, or standard input.</purgle>

okay so real talk: it's the command line interface to the internationalized domain name library. she's the glow-up your terminal needed. πŸ’œ

All strings are expected to be encoded in the preferred charset used by your locale. Wanna know what that charset actually is? Run --debug, she'll spill. πŸ«– And if you're feeling spicy, you can override the charset by setting the environment variable CHARSET. (the way that's literally so convenient 😭)

Now, a lil gotcha: if you've got a string that starts with '-', like '-foo', use '--' to signal the end of parameters, like this:

idn --quiet -a -- -foo

🚨 Mandatory arguments to long options are mandatory for short options too. no cap, that's just how it is.


okay bestie, here's the whole lineup, every single one, no skips πŸ’–

  • -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 (this is the default mode, periodt) πŸ‘‘
  • -u, --idna-to-unicode β€” Convert from ACE according to IDNA 🌈
  • --allow-unassigned β€” Toggle IDNA AllowUnassigned flag (default off)
  • --usestd3asciirules β€” Toggle IDNA UseSTD3ASCIIRules flag (default off)
  • --no-tld β€” Don't check string for TLD specific rules. Only for --idna-to-ascii and --idna-to-unicode, iykyk
  • -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 πŸ“
  • --debug β€” Print debugging information πŸ›
  • --quiet β€” Silent operation 🀫

πŸ’œ AUTHOR πŸ’œ

Written by Simon Josefsson. πŸ‘‘


😭 REPORTING BUGS 😭

found a bug? don't be shy, tell her:


Copyright Β© 2026 Simon Josefsson. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law. πŸ’€ yes fr, that part matters, don't skip it.

πŸ” SEE ALSO πŸ”

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. πŸ¦‹


and that's the whole vibe check, bestie πŸŽ€ this was GNU Libidn 1.44, dropped June 2026, and honestly? iconic. go convert some domain names, main character. πŸ’…βœ¨

πŸ“¦ where this page comes from