Why convert a domain between Unicode and ASCII
An internationalized domain has a readable Unicode form and an ASCII form for applications that require that format. The Punycode converter works in both directions: café.fr and xn--caf-dma.fr refer to the same name.
An accented character is encoded to produce a domain's ASCII form. Removing é or replacing it with e would change the spelling of the name you are looking for.
Three common situations call for domain conversion:
- Fill in a configuration field that requires ASCII while preserving the exact internationalized name.
- Read a name prefixed with
xn--in a log or export and recover its Unicode characters. - Compare domains copied from URLs or email addresses without manually copying the relevant part.
How to use the converter in 3 steps
Paste your entries into the text box, click Convert, then view both forms of each domain. The button starts processing; you do not need to choose a direction.
Step 1: Paste the names
Enter one domain, URL, or email address per line, up to 20 non-empty lines. You can mix these formats in the same submission.
captaindns.com
café.fr
xn--caf-dma.fr
https://café.fr/contact?lang=fr
contact@café.fr
For the URL, the tool extracts the host café.fr. For the email address, it keeps the domain after @. The result covers that name, excluding the /contact path, the parameters, and the contact@ part.
Step 2: Run the conversion
Click Convert once your list is ready. The xn-- prefix triggers conversion to Unicode; in the other direction, the tool produces the ASCII form.
Detection applies to each entry. You can put café.fr and xn--caf-dma.fr in the same text box without changing settings between lines.
Step 3: Copy the form you need
Copy the ASCII form for a field that requires it, or the Unicode form to read the name. Both remain visible after each successful conversion.
An error applies to the flagged line. Correct that entry and run the conversion again; the results for the other lines remain usable.
Punycode and IDNA: the algorithm and processing rules
Punycode is the algorithm that encodes a Unicode string in ASCII; IDNA governs the use of internationalized names in applications. The algorithm is defined in RFC 3492, while RFC 5890 defines IDNA2008 terminology.
Processing happens label by label, meaning each part of the name separated by a dot. In café.fr, the label café becomes xn--caf-dma, and fr stays unchanged. For an IDNA-compliant label, the prefixed ASCII form is called an A-label and the corresponding Unicode form a U-label.
Unicode : café.fr
ASCII : xn--caf-dma.fr
This converter applies the UTS-46 lookup profile in non-transitional mode. The character ß is preserved: straße.de becomes xn--strae-oqa.de, without replacement by ss. Mapping and normalization rules are described in the Unicode UTS-46 standard.
The engine also accepts emoji: 🍕.ws becomes xn--vi8h.ws. This result describes the tool's conversion behavior. It does not grant permission to register the name with a registry or validate all IDNA2008 registration rules.
What the tool does and does not do
The converter processes the written form of the domain and reports input errors by line. It does not query DNS servers or domain registration data.
| Input or need | What the tool does | What it does not do |
|---|---|---|
| Unicode or Punycode domain | Displays the Unicode and ASCII forms | Confirm that the domain exists |
| Full URL | Extracts and converts the host | Encode the path or parameters |
| Email address | Extracts and converts the domain | Convert the part before @ or verify the mailbox |
| List of names | Processes up to 20 non-empty lines with individual errors | Process an unlimited list in one submission |
| DNS diagnostics | Provides the ASCII name for reuse | Look up an IP address or MX, TXT records |
| Domain registration | Provides the converted form | Check availability or registry rules |
Practical use cases
Conversion helps isolate a problem with the written form of a name before you continue troubleshooting. The following situations show which form to copy and which check to run next.
Incident 1: A configuration field rejects an accented character
If a field requires an ASCII name, use xn--caf-dma.fr to refer to café.fr. Replacing the accented character manually would change the domain.
The symptom is a rejected Unicode input in your administration interface. Paste the name into the converter, copy the ASCII form, and enter it in the relevant field. If the interface accepts the name but the service remains unreachable, continue with a DNS query: conversion alone does not explain that failure.
Incident 2: An export contains an unreadable name
A name such as xn--caf-dma.fr in an export decodes to café.fr. This display difference can explain why two lists seem to contain different domains.
The symptom appears when matching a technical export against a list entered with accented characters. Convert the relevant entries, compare their ASCII forms, then keep the Unicode form for human readability. Include both forms in the support ticket to avoid another manual transcription.
Incident 3: A link or recipient causes a problem
Converting a URL or email address only provides information about its domain. An incorrectly encoded path or a nonexistent mailbox requires a different check.
Take https://café.fr/contact?lang=fr or contact@café.fr: the resulting ASCII name is xn--caf-dma.fr. If the symptom concerns website access, check its DNS records next. For an email issue, examine the MX records; for an incorrectly encoded link parameter, use the URL encoder.
FAQ - Frequently asked questions
Results show two written forms of the name, even when they are identical. Here is how to interpret prefixes, errors, and input limits.
What does xn-- mean?
The xn-- prefix indicates a Punycode-encoded ASCII label in an internationalized name. A label is a part of the name separated from the others by a dot: in xn--caf-dma.fr, it corresponds to café. Keep this prefix when copying the ASCII form.
How is this different from percent-encoding?
Punycode encodes hostname labels; percent-encoding represents bytes as %XX in URL components. xn--caf-dma.fr is the ASCII form of café.fr, while %C3%A9 encodes the character é in UTF-8. Use the URL encoder for a path or parameter value.
Is this DNS resolution?
No. The converter transcribes the name without querying its DNS records. A conversion result therefore does not prove that the domain exists or responds. Use DNS Lookup to query A, MX, or TXT records.
Why does example.com appear twice?
example.com is already ASCII: its ASCII and Unicode forms are identical. The tool always displays both forms, even when no characters change. The same result is expected with captaindns.com; this duplication is not an error.
Why is an internal space rejected?
A space inside the domain, as in café .fr, makes the name invalid. The tool trims surrounding whitespace but does not repair internal spaces. Correct the line to café.fr, then run the conversion again.
How many lines can I convert?
The limit is 20 non-empty lines per submission, with one entry per line. Empty lines are ignored. Within this limit, each invalid line gets its own message without preventing conversion of the others; split a longer list across several submissions.
Related tools
Query DNS for a domain's records and RDAP for its registration data. The URL encoder handles paths and parameters that fall outside the Punycode converter's scope.
| Tool | Use after conversion |
|---|---|
| DNS Lookup | Query A, MX, or TXT records for the resulting name |
| RDAP | View published registration data for the domain |
| URL encoder / decoder | Encode or decode a path or parameter value using percent-encoding |
Useful resources
RFC 3492 describes Punycode encoding; UTS-46 describes Unicode compatibility processing for IDNA. RFC 5890 defines the terminology used for internationalized labels.
- RFC 3492: Punycode algorithm, with encoding and decoding procedures and detailed examples.
- Unicode UTS-46: IDNA compatibility processing, with normalization rules and the ToASCII and ToUnicode operations.
- RFC 5890: IDNA2008 definitions and framework, including the definitions of A-label and U-label.