What the Punycode converter does

DNS only works with labels made of ASCII letters, digits and hyphens. Internationalised domain names (IDNs) are therefore stored and queried as Punycode labels with the xn-- prefix. The tool shows each domain in both Unicode and ASCII form, picks the direction automatically and reports problematic labels with their line number.

It is meant for people registering domains, configuring email or TLS, decoding an xn-- name they saw in a DNS lookup or using Turkish domain names in campaign links.

How to use

  • Type one domain per line or paste a list; up to 1,000 lines are processed.
  • Pick the output direction: automatic mode decodes ASCII lines that contain xn-- and encodes everything else.
  • The result updates as you type. The table lists each label's Unicode and ASCII form, its ASCII length and the scripts its letters belong to.
  • Read the warnings, then copy the result or download it as TXT or CSV.

If you paste a full URL, only the host name is used; path, port and query are ignored and a notice says so.

Conversion rules: UTS #46 and RFC 3492

Conversion happens in two steps. First the Unicode UTS #46 mapping is applied: capitals are lower-cased, full-width letters and dots such as 。 are normalised and disallowed characters are rejected. This step uses the browser's own URL parser, so the result matches the name your browser would open. Then every non-ASCII label is encoded with the RFC 3492 Punycode algorithm and prefixed with xn--.

Turkish needs two extra cautions. Capital I maps to i, not to Turkish dotless ı; typing IĞDIR.COM gives iğdir.com, not ığdır.com. Capital İ becomes i plus a combining dot above and yields a different xn-- label. Writing Turkish domains in lower case is the safest option.

Mixed scripts and lookalike characters

Cyrillic а and Latin a look identical on screen but produce different domains. The tool lists the scripts used in each label and warns when scripts such as Latin and Cyrillic are mixed within one label. The usual combinations for Japanese, Chinese and Korean are not flagged. It also compares Cyrillic, Greek and Armenian letters that closely resemble Latin ones against a short list and shows which Latin name a label imitates, for example apple for аpple.

That list is not Unicode's full confusables table; it catches the classic homograph cases. No warning does not prove a name is safe. Invisible characters are reported separately.

Length limits and errors

RuleLimit
One label (ASCII form)at most 63 characters
Whole domain (ASCII, without trailing dot)at most 253 characters
Start and end of a labelno hyphen
-- in positions 3 and 4only for special prefixes such as xn--
Empty labeltwo dots in a row are invalid

Length is counted on the ASCII form, not on Unicode letters, so a short Turkish label can grow in Punycode. Invalid xn-- labels, undecodable Punycode and input that looks like an IP address are shown as errors. Underscores may appear in DNS record names but not in host names; the tool reports them as a warning.

Example and interpretation

The example button loads this list and, in automatic mode, produces the following output:

şeker.com.tr       -> xn--eker-45a.com.tr
ığdır.com          -> xn--dr-wna5ec.com
xn--eker-45a.com.tr -> şeker.com.tr
IĞDIR.COM          -> xn--idir-0wa.com  (iğdir.com)

Reading it: the first two lines encode Turkish names to ASCII and the third decodes in the opposite direction. The fourth line shows that writing the same city in capitals produces a different domain; the tool adds an I-mapping warning for that line. Add a line with Cyrillic letters and a mixed-script warning appears as well.

Limits and privacy

The conversion runs entirely in your browser; the domains you type are not sent to any server and no network request is made. The tool does not check whether a domain is registered, which characters a given extension allows or a registrar's own rules. Older IDNA2003 implementations may convert some letters such as ß differently; a warning is shown in that case. Because results rely on your browser's URL parser, very old browsers may differ.

Frequently asked questions

What is Punycode?

An encoding defined in RFC 3492 that represents Unicode text with ASCII letters, digits and hyphens only. Domain names use it with the xn-- prefix.

What is the Punycode form of şeker.com.tr?

xn--eker-45a.com.tr. Only the non-ASCII label şeker changes; com and tr stay the same.

Does typing in capitals change the result?

Usually not, because letters are lower-cased. In Turkish, however, I maps to i and İ to i plus a combining dot, so you can end up with a different domain.

Why does a mixed-script warning matter?

Lookalike letters from different scripts can be used to build domains that imitate a real brand. The warning tells you to check the name carefully.

Are the domains I enter stored?

No. The conversion happens in your browser. Only if you choose to include inputs in a share link does the list travel inside that link.

Published: · Updated: