What this does
Converts internationalized domain names (IDN) between their Unicode form and the ASCII "Punycode" form that DNS and certificates actually use. münchen.de becomesxn--mnchen-3ya.de and back. Enter one domain per line; a table lists each label that changed.
How IDNs work
DNS only allows ASCII letters, digits and hyphens. Each label that contains other characters is encoded with the Punycode algorithm (RFC 3492) and given the prefix xn--; labels that are already ASCII are left alone. Encoding follows the IDNA/UTS #46 rules your browser uses for URLs, so uppercase letters and compatibility characters are mapped first (MÜNCHEN.DE gives the same result as münchen.de) and invalid labels are rejected with the offending label named. Decoding validates every xn-- label and reports the ones that are not valid Punycode.
Security note
Different scripts contain look-alike letters, so аpple.com with a Cyrillic "а" is a different domain from apple.com. Browsers show Punycode for suspicious mixes for that reason. Converting to the xn-- form is the reliable way to see what a domain really is.
Input
Bare domain names only: schemes, paths, ports and email addresses are rejected rather than guessed at. Ideographic full stops (。) are treated as label separators, as in the standard.
Privacy
The conversion runs in your browser. Nothing is uploaded or looked up.