Language: English

tools / punycode

punycode/

Convert internationalized domain names to xn-- Punycode and back. One domain or URL per line, so you can paste a whole list.

Domain

Punycode

FAQ

What is Punycode, and why do international domains start with xn--?

The Domain Name System only accepts English letters, digits and hyphens. Punycode encodes other characters, such as Chinese or accented letters, into those and adds the xn-- prefix, so 中文.com becomes xn--fiq228c.com and bücher.de becomes xn--bcher-kva.de. The address bar shows the original, but DNS lookups and requests use the xn-- form.

Which form should I use for DNS records, Nginx or an SSL certificate?

Most control panels and config files expect the xn-- form: DNS records, Nginx server_name and the domains in a certificate request all do. A few panels accept the original characters and convert them for you. When in doubt, use the xn-- form.

Can I paste a full URL?

Yes, one per line. Only the host name is converted; the scheme, user name, port, path and query stay as they are. Non-ASCII text in the path or query is not converted, because that part uses percent-encoding; use the URL encoder on this site for it.

Why is everything lowercase, and where did the full-width characters go?

Domain names are case-insensitive, so everything is lowercased first. Full-width letters and digits are converted to their normal forms, and the ideographic full stop 。 and the full-width period count as dots. That way 中文。COM and 中文.com give the same result.

What does "over the 63-character limit per label" mean?

DNS allows at most 63 characters per label (the part between two dots) and 253 for the whole domain, counted on the converted xn-- form. The more varied non-ASCII characters a label has, the longer it gets, and a domain over these limits cannot be registered or resolved.

What if decoding says "not valid Punycode"?

The part after xn-- does not follow the encoding rules, usually because a few characters were lost when copying or a space or quote slipped in. Only labels starting with xn-- are decoded and the rest is output as is, so you can paste whole lines; lines with errors are listed by number below.

My result differs from another tool. Which one is right?

Go by what browsers do. For common Chinese, Japanese, Russian, Greek and German domains, this tool gives the same result as the browser address bar. For example, the German ß is kept and encoded as xn--zca, while some tools that follow older rules turn it into ss and produce a different domain.

Are the domains I enter sent to a server?

No. Everything is converted in your browser; nothing you type is sent to a server, and the page does not look up whether the domain is registered.