Punycode & internationalized domain names (IDN)

Client

DNS wire format uses ASCII; Unicode domains appear as Punycode labels beginning with xn--. Convert between Unicode hostnames and Punycode locally—no lookup, no upload.

Part of encoding tools.

Workspace

Paste a hostname (with Unicode or xn-- labels) or a full http(s) URL. The output replaces the field for easy copying.

Punycode conversion

?

Internationalized domain names use Punycode labels starting with xn--. Browsers show Unicode in the address bar but wire format is ASCII.

Paste a hostname or a full http(s) URL—only the hostname is converted. IPv6 literals in brackets are left unchanged.

Common use cases

  • See the xn-- form of an internationalized domain before configuring DNS or TLS SANs.
  • Decode Punycode labels from logs or certificate subjects to readable Unicode.
  • Sanity-check a pasted URL: we strip the path and normalize the hostname only.

Common mistakes to avoid

  • Expecting DNS or certificate validation

    This tool only converts labels—it does not resolve names, check registration, or validate certificates.

  • Including a port in the hostname field

    Paste hostnames without :port, or use a URL and we will take hostname only (ports are ignored).

FAQ

Is this the same as URL percent-encoding?

No. Punycode maps Unicode domain labels to ASCII; percent-encoding escapes bytes in paths and queries. Use the URI encoding page for %XX sequences.

Are IPv4 or IPv6 addresses converted?

IPv6 bracket literals and addresses containing colons are left unchanged. Dotted IPv4 hostnames are label-split like normal domains.

Common search terms

Phrases people search for that match this tool. See the full long-tail keyword index.

  • punycode converter online
  • idn domain to ascii
  • unicode domain to punycode
  • xn-- domain decode

Related utilities you can open in another tab—mostly client-side.