Punycode Encoder Decoder

Convert a complete internationalized domain name between readable Unicode and its ASCII-compatible form. For example, bücher.de becomes xn--bcher-kva.de. The server uses PHP intl with Unicode UTS #46; it converts the supplied name but does not check registration, DNS, ownership or phishing risk.

How to convert an IDN

  1. 1

    Choose a direction

    Encode turns a Unicode domain into ASCII; decode turns an A-label such as xn--bcher-kva back into Unicode.

  2. 2

    Enter the domain

    Paste the domain name only, without a URL path, query string or email address. Dot-separated labels are processed together.

  3. 3

    Check the result

    Copy the converted spelling, then verify it with the relevant registry or DNS service before relying on it.

Unicode names and A-labels

An internationalized domain name can contain characters outside plain ASCII. DNS-facing software represents each non-ASCII label with Punycode and the xn-- prefix. ASCII-only labels remain unchanged.

Unicode form ASCII-compatible form
bücher.de xn--bcher-kva.de
café.com xn--caf-dma.com
日本.jp xn--wgv71a.jp

This tool calls PHP’s idn_to_ascii or idn_to_utf8 with the UTS #46 variant and default flags. UTS #46 maps and normalizes a prospective domain before converting its labels. A conversion failure means the input could not be processed under those settings; it does not mean that a successful result is registered, reachable or accepted by a particular registry.

Safety and scope

Punycode is an encoding, not a trust signal. Different Unicode characters can look alike, so inspect unfamiliar decoded domains carefully. This page does not run confusable-character or mixed-script detection. It also does not perform DNS lookup, WHOIS, certificate checks or registry-specific validation.

The entered domain is sent to this site’s server for conversion. Do not paste credentials or private data; a domain name itself is normally public, but the tool is not browser-only.

Frequently Asked Questions

No. Enter the domain only, such as café.example. Remove the scheme, port, path, query and fragment first.

No. It only proves that the server converted the input. Registry policies, DNS length rules and availability require separate checks.

No. Treat the decoded spelling as data and verify unfamiliar names independently.

On this site’s server with PHP intl and the UTS #46 IDNA variant.

Related Tools

Tool available in other languages