Punycode Toolkit documentation

Convert internationalized hostnames to ASCII punycode or decode punycoded labels back to readable Unicode.

Overview

Use it when the format needs to change, not the meaning

Use Punycode Toolkit when you need the canonical ASCII or Unicode form of a hostname before DNS changes, certificate checks, redirects, or handoffs between systems.

DNS and registrar prep

Convert a Unicode hostname into its ASCII punycode form before you paste it into zone files or registrar fields.

Readable hostname review

Decode `xn--` labels back to Unicode when you need to confirm which hostname a config or certificate entry actually represents.

Label-by-label verification

Check exactly which labels changed so you can spot the part of the hostname that carries punycode.

Supported inputs

Bring clean source text and keep the direction straight

  • Accepts a hostname or domain only, such as `bücher.example` or `xn--bcher-kva.example`.
  • Rejects full URLs, email addresses, ports, and IP addresses in v1.
  • Returns the converted hostname plus canonical ASCII and Unicode forms together.

Walk through it

Follow the same sequence you see in the tool

Workflow

Convert Unicode to ASCII punycode

Use this flow before you paste an internationalized hostname into DNS, TLS, or app configuration fields that expect ASCII hostnames.

  1. Choose the Unicode to ASCII direction.
  2. Enter the hostname exactly as you want to review it.
  3. Run the conversion, then copy the converted hostname or the canonical ASCII form into the next system.

Workflow

Decode ASCII punycode to Unicode

Use this flow when you want to confirm what an `xn--` hostname means before you compare logs, redirects, or certificate coverage.

  1. Choose the ASCII to Unicode direction.
  2. Paste the punycoded hostname you want to inspect.
  3. Review the converted hostname and the label breakdown before you copy the Unicode form into your notes.

What you get

Check the result before you copy it into the next step

Converted hostname

The main result follows the selected direction so the next copy target is obvious.

Canonical ASCII and Unicode forms

Both stable representations are shown together so you do not need to rerun the tool to compare them.

Label breakdown

Each hostname label is split into source, converted, ASCII, and Unicode values with a changed flag.

Avoid these mistakes

Small input problems create the biggest conversion errors

Pasting a full URL

Enter only the hostname or domain. Do not include `https://`, paths, query strings, or fragments.

Using an email address

This tool converts hostnames only. Paste just the domain portion if that is what you need to inspect.

Assuming every ASCII label is punycode

Only labels starting with `xn--` are punycoded. Plain ASCII labels can remain unchanged in both directions.

Glossary

Decode the terms before you act on them

This section translates the most technical labels on the page into plain language so you can interpret the output without opening another tab.

IDN

IDN stands for internationalized domain name. It is a hostname or domain that includes non-ASCII characters such as accented Latin letters, Japanese characters, or other scripts.

Punycode

Punycode is the ASCII encoding used to represent non-ASCII hostname labels in systems that still expect DNS-safe ASCII text.

ASCII hostname

An ASCII hostname uses only letters, numbers, and hyphens in each label. Punycode labels start with `xn--` when they encode non-ASCII characters.

Label

A label is one dot-separated segment of a hostname, such as `www`, `bücher`, or `example`.

Need a different utility? Browse the documentation hub for the rest of the published guides.
Last updated April 7, 2026