
Punycode decode
Punycode decode. Runs on your device, nothing is uploaded.
Punycode decode accepts a bare label, an xn--prefixed label, or a dotted hostname, running the RFC 3492 bootstring algorithm over any xn-- segment while leaving plain labels alone. Everything before a label's final hyphen copies across unchanged, since it was never encoded. A malformed bootstring digit, or a stray non-ASCII byte where only ASCII is expected, halts decoding with the problem named.
Questions
What inputs does it accept?
A bare label, a single xn--prefixed label, or a whole dotted hostname mixing plain and xn-- labels.
What happens to the ASCII part of a label?
The basic code points before the final hyphen pass straight through, exactly as the encoder left them.
What is refused?
An invalid bootstring digit, or a non-ASCII byte appearing where the algorithm expects only ASCII, both refused with the reason named.
What does this reverse?
The RFC 3492 bootstring algorithm behind IDNA's xn-- domain labels.
Can I use this from the command line?
Yes, the same code runs on the page, the CLI and MCP.