IDNUTS #46 · IDNA2008 · RFC 3492 · runs offline in this tab
Punycode converter
Turn bücher.de into xn--bcher-kva.de and back, spot invalid labels, and catch names built to look like someone else's.
Converts as you type. Nothing is sent anywhere.
| Input | ASCII (xn--) | Unicode | Notes |
|---|
What the converter checks
Names are mapped with UTS #46, the same processing your browser applies to the address bar: upper case becomes lower case, full-width characters and dots become their plain forms, and ß stays ß as IDNA2008 requires. Each label is then encoded with Punycode, or decoded and re-encoded to prove that an xn-- label is genuine.
Warnings flag characters IDNA2008 does not allow, such as emoji, labels that mix scripts (a Cyrillic а inside a Latin word), and all-Cyrillic or all-Greek labels that can pass for an English word.
Questions
Why does a browser show xn-- instead of the real name?
Browsers fall back to the xn-- form when a name mixes scripts or looks like a homograph, so a fake name cannot pass for a real one in the address bar.
Why are emoji domains flagged?
IDNA2008 allows letters, digits and a few joiners, not symbols. Browsers still convert emoji, but most registries refuse such names.
Is faß.de the same as fass.de?
No. Under IDNA2008 they are different names, xn--fa-hia.de and fass.de. Older IDNA2003 software turned ß into ss, so the converter points this out.