Dev · 108 tools · nothing uploads

Punycode decode

Punycode decode. Runs on your device, nothing is uploaded.

Input

live

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.

Related Dev tools