Skip to content
LookupOwl

Punycode converter

Convert international domain names to the ASCII form DNS uses, and back.

One per line to convert a whole list.

Results for bücher.de

Converted just now

JSON

Unicode → ASCII

Here’s how DNS spells it

DNS only understands plain letters, digits and hyphens, so international names are stored in this xn-- form.

You typed
bücher.de
Stored form
xn--bcher-kva.de
Script
Latin

One script, which is the usual case

Length
16chars

Limit is 253 for a full name

Safe to use
Yes

No look-alike characters found

Labels2
LabelStored formLengthScript
bücherxn--bcher-kva13 of 63Latin
dede2 of 63–
Structured result (JSON) · 697 B
{
  "items": [
    {
      "input": "bücher.de",
      "ok": true,
      "ascii": "xn--bcher-kva.de",
      "unicode": "bücher.de",
      "isIdn": true,
      "asciiLength": 16,
      "labels": [
        {
          "unicode": "bücher",
          "ascii": "xn--bcher-kva",
          "octets": 13,
          "isIdn": true,
          "scripts": [
            "Latin"
          ]
        },
        {
          "unicode": "de",
          "ascii": "de",
          "octets": 2,
          "isIdn": false,
          "scripts": []
        }
      ],
      "warnings": []
    }
  ],
  "totals": {
    "items": 1,
    "ok": 1,
    "failed": 0,
    "idn": 1,
    "withWarnings": 0
  },
  "truncated": false
}

What Punycode is for

Host names on the internet can only use plain ASCII letters, digits and hyphens. International domain names (IDNs) such as bücher.de, 例え.jp or пример.рф still work, because each non-ASCII label is encoded into ASCII that starts with xn--. A label is one dot-separated part of a name. The encoding is Punycode, and the ASCII result is called the A-label. The readable form is the U-label. Browsers usually show you the U-label. DNS, WHOIS, certificates and most config files expect the A-label.

Unicode (U-label)Punycode (A-label)
bücher.dexn--bcher-kva.de
münchen.dexn--mnchen-3ya.de
例え.jpxn--r8jz45g.jp
пример.рфxn--e1afmkfd.xn--p1ai

How to use the converter

  1. Paste namesEnter one or more domains, one per line. Commas and spaces separate names too, and you can convert up to 500 at once. Unicode names, xn-- names, full URLs and email addresses all work. Only the domain part is converted.
  2. Read both formsEach result shows what you typed and the xn-- form, the scripts used, and the length against DNS's limits: 63 per label and 253 for the whole name. A Safe to use line says whether anything needs a second look.
  3. Check the warningsMixed scripts, lookalike characters, emoji, characters the standard silently remaps and names that older software would treat differently are flagged before you register, buy or trust a name.

Reading the result and the warnings

  • Plain ASCII. A name that needs no conversion is shown as it is and marked as not an IDN.
  • Mixed script. A label that mixes, say, Latin and Cyrillic letters is a classic sign of a lookalike (homograph) attack. The tool flags it, and many registries refuse such names.
  • Confusable characters. Characters that look alike across scripts, such as Cyrillic а and Latin a, are flagged along with the name they imitate. xn--80ak6aa92e.com decodes to a Cyrillic imitation of a famous brand and can look identical to the real one in some fonts.
  • Remapped characters. The standard rewrites some input, such as full-width letters and certain compatibility forms. The result may not be what you typed, and the tool says so.
  • ß, ς and joiners. Older IDNA 2003 software treated the German sharp s, the Greek final sigma and two invisible joiner characters differently. When that gives a different domain, you see both versions.

Errors you may see

  • Invalid Punycode. The part after xn-- is malformed, decodes to plain ASCII or doesn't re-encode to the same string. Typos and cut-off names cause this.
  • Empty label or a hyphen in the wrong place. a..com has an empty label, -name.com starts with a hyphen and ab--cd.com has hyphens in the third and fourth positions, which are reserved for xn--.
  • Label or name too long. A label can be at most 63 characters once converted, and the whole name at most 253. Long Unicode labels reach the limit sooner than you'd expect, because Punycode needs extra characters.
  • Looks like an IP address. A last label made only of digits, as in foo.123, would be read by browsers as an address, so the tool refuses it.
  • Characters that aren't allowed. Domain names use letters, digits and hyphens. Most symbols and unassigned code points are refused. Spaces separate names, so a name can't contain one.
  • Mixed directions. Mixing left-to-right and right-to-left text in ways the standard forbids is refused.
  • Underscore. Underscores appear in DNS records such as _dmarc but aren't allowed in registrable names, so the tool warns about them.

How the conversion works

Conversion runs on our server and makes no network lookup. Each label is mapped and validated with the UTS #46 rules that browsers follow (the current “non-transitional” version), then encoded with the Punycode algorithm and prefixed with xn--. Decoding does the reverse and checks that re-encoding gives back the same label, which catches many malformed names. LookupOwl adds its own checks for lengths, hyphens, digit-only endings and lookalikes.

Punycode keeps the plain ASCII characters of a label first, then adds a compact code that says where each other character goes and what it is. That is why bücher becomes bcher-kva: bcher is the ASCII part, and kva encodes the position and value of ü.

To learn who owns a converted name, run it through the WHOIS lookup. To see if it is free, use the availability checker.

Standards

  • RFC 3492: the Punycode encoding.
  • RFC 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894: IDNA 2008, covering definitions, the protocol, allowed code points, right-to-left rules and rationale.
  • UTS #46: the Unicode mapping and processing rules browsers use.
  • RFC 1035 and RFC 1123: the label and name length limits and host name syntax.
  • RFC 6531: internationalised email addresses, relevant when the part before the @ is also non-ASCII.

Questions people ask

What does xn-- mean in a domain name?

It marks a label that is Punycode-encoded. Everything after xn-- is an ASCII encoding of a Unicode label, which software decodes to show the readable name. For example, xn--bcher-kva is bücher. Seeing xn-- in a log, a certificate or a DNS record just means the name is international.

How do I convert a domain to Punycode?

Paste it above. You get the xn-- form to use in DNS records, WHOIS queries, server configuration or certificate requests. Paste an xn-- name instead and you get the readable form back. Several names can go in at once, one per line.

Why does my browser show xn-- instead of the Unicode name?

Because the browser doesn't trust the name enough to show it in full. Browsers fall back to Punycode when a name mixes scripts or uses characters that could pass for Latin letters. It is a protection against lookalike domains. Paste the name here to see which characters are behind it.

Are emoji domains valid?

A few extensions sell them, but IDNA 2008 doesn't allow emoji and most registries refuse them. The converter can still encode one, with a warning. If a message sends you to an emoji domain you didn't expect, treat the link with suspicion.

Does a Punycode domain work for email?

Yes for the domain part, since mail servers resolve the A-label. A part before the @ that isn't plain ASCII, such as jörg@bücher.de, needs servers that support internationalised email (RFC 6531). That support is far less universal, so test before you rely on it.

Is the output the same on every site?

Almost always. Differences appear in edge cases such as ß and ς, where IDNA 2003 mapped them to other characters. This tool follows the current non-transitional rules and shows the older result when it differs. If two sites disagree about a name with those characters, that is usually why.

Can I register any name that converts cleanly?

Not necessarily. Each registry publishes the scripts and characters it allows, and many limit a name to one script. This tool checks the general rules, not one registry's list, so a name can convert fine and still be refused at registration. Your registrar gives the final word.

Use it from AI, the API or the command line

Every LookupOwl tool is also a free API and an MCP tool, with no key and no account. This one is punycode_convert. Please be kind to the rate limits.

curl
curl "https://lookupowl.com/api/v1/tools/punycode-converter?q=b%C3%BCcher.de"
MCP
claude mcp add --transport http lookupowl https://lookupowl.com/mcp