Punycode / IDN Converter

Convert internationalized domain names (IDN) to Punycode xn-- labels and back, or encode raw RFC 3492 strings. One domain per line, works offline.

32 characters · 45 bytes (UTF-8)

0 characters · 0 bytes (UTF-8)

Runs entirely in your browser. Your data is never uploaded.

What is Punycode Converter?

Converts internationalized domain names such as bücher.example or việtnam.vn to the ASCII form used by DNS (xn--bcher-kva.example), and back. A raw mode encodes or decodes single Punycode strings exactly as in RFC 3492.

How to use Punycode Converter

  1. Choose To Punycode or To Unicode.
  2. Select the Input type: Domain names (each label handled separately, xn-- added/removed) or Raw Punycode string.
  3. Enter one domain per line in Input.
  4. Copy the converted domains from Output.

Example

Input
Bücher.example
Output
xn--bcher-kva.example

When to use Punycode Converter

Use it to see the real DNS name behind an IDN, configure DNS records, TLS certificates or web servers that need ASCII names, or to spot look-alike (homograph) domains. For registration validity, check your registrar’s rules.

How Punycode Converter works

In domain mode the input is split into labels on . (and the ideographic full stops 。.。). Each label is normalised to NFC and lower-cased; labels containing non-ASCII characters are encoded with the RFC 3492 Bootstring algorithm (base 36, bias adaptation) and prefixed with xn--. Decoding reverses this for labels starting with xn--. Full IDNA2008/UTS #46 validation (for example disallowed characters or bidi rules) is not performed.

Common Use Cases

  • Creating DNS records and certificates for IDN domains
  • Reading xn-- names in logs and certificates
  • Checking suspicious look-alike domains in phishing links
  • Testing RFC 3492 implementations

Security Note

Look-alike characters from other scripts (e.g. Cyrillic "а" vs Latin "a") produce different xn-- names; converting a suspicious link to Punycode reveals them.

FAQs

Why is my domain lower-cased?

Domain names are case-insensitive and IDNA maps them to lowercase before encoding, so Bücher and bücher give the same result.

What does the raw mode do?

It runs the plain RFC 3492 algorithm on the whole text without splitting labels or adding xn-- – useful for testing with the RFC examples.

Does it check whether a domain is valid?

No, it only converts. Registries apply additional IDNA rules.

Explore more categories