IDN Converter for Unicode and Punycode Domains

EncodingRuns in Your Browser (No Uploads)

Convert one internationalized domain name between Unicode and ASCII Punycode with strict UTS #46 validation, DNS length checks, stable round-trip verification, Unicode-dot mapping, and per-label script review. Processing stays in this browser.

What to do next

Continue with a related workflow or open the next tool that usually follows this task.

How to Use This Tool

Choose To ASCII for a Unicode domain or To Unicode for an ASCII or xn-- domain.

Enter exactly one domain name without a scheme, path, port, query, fragment, user information, or email local part.

Run the conversion and resolve any UTS #46, Punycode, empty-label, or DNS length error before using the result.

Compare every label's Unicode and ASCII form, especially labels carrying a mixed-script warning.

Copy or download the exact output, including a trailing root dot when the input supplied one.

Verify registry policy, availability, DNS resolution, TLS, email support, and application display separately for the real deployment.

When to Use This Tool

DNS configuration review

Create the exact xn-- labels needed to compare an internationalized hostname with DNS records or provider input fields.

Punycode inspection

Decode ASCII IDN labels into readable Unicode, then verify that the strict round trip returns the same ASCII domain.

Label-by-label script review

See the Unicode and ASCII value of each label and identify labels that combine several common writing scripts for further investigation.

Cross-system hostname debugging

Compare application logs, certificates, allowlists, redirects, and configuration files when one system displays Unicode and another stores ASCII labels.

Common Mistakes

Pasting a full URL or email address

Enter only a domain such as münchen.example. A scheme, path, port, query, fragment, user information, or email address is rejected so unrelated syntax is not silently changed.

Treating conversion as registration approval

A successful UTS #46 conversion does not prove that a registry offers the name, permits every character, or considers it available. Check the target registry separately.

Using domain conversion as email validation

IDNA applies to domain labels. It does not convert or validate the local part before @, mailbox delivery, SMTPUTF8 support, or an email provider's policy.

Ignoring visually confusable labels

Similar-looking characters can come from different writing systems. A mixed-script warning is a prompt for manual review, not a complete homograph or phishing verdict.

Expecting identical display in every application

Applications may display Unicode or ASCII according to their own safety policies. Compare the exact ASCII labels used in DNS instead of assuming every browser will show the same form.

Examples

Convert a Unicode domain to ASCII

The non-ASCII label becomes an xn-- ASCII label while the reserved example suffix stays unchanged.

Input
münchen.example
Output
xn--mnchen-3ya.example

Decode an ASCII IDN for review

Strict To Unicode mode decodes the two valid Punycode labels and verifies that encoding them again produces the original ASCII domain.

Input
xn--r8jz45g.xn--zckzah
Output
例え.テスト

UTS #46 conversion, DNS limits, and review boundaries

Unicode domain labels cannot be sent through every DNS-facing interface directly. IDNA represents eligible labels as ASCII Compatible Encoding; encoded labels begin with xn-- and use Punycode for the label payload.

This converter applies nontransitional Unicode Technical Standard #46 processing with STD3 ASCII rules plus bidirectional-text, joiner, hyphen, and invalid-Punycode checks. Different libraries or legacy transitional settings can produce different results for some characters.

Input is limited to 4,096 UTF-8 bytes. After conversion, each ASCII label must satisfy the 63-byte limit and the complete domain, excluding an optional trailing root dot, must satisfy the 253-byte limit.

Ideographic full stop and fullwidth or halfwidth dot variants are mapped to an ASCII period before validation. One final root dot is retained, while leading dots, doubled dots, and empty labels are rejected.

The Unicode form is encoded again and must match the validated ASCII form. Script labels and mixed-script warnings support review, but they do not implement a complete Unicode confusables analysis or determine whether a domain is trustworthy.

Frequently Asked Questions

What is an IDN and why does xn-- appear?

IDN means Internationalized Domain Name. Unicode labels are represented in DNS-compatible ASCII using the xn-- Punycode form defined by the IDNA processing model.

What input does this converter accept?

Enter one domain only, with optional trailing root dot. Do not include http://, a path, port, query, fragment, user information, spaces, or an email local part.

Which IDNA checks are applied?

It uses nontransitional UTS #46 processing with STD3, bidi, joiner, hyphen, invalid-Punycode, DNS label-length, domain-length, and stable round-trip checks.

Does the tool look up or register the domain?

No. Conversion and validation run in this browser. The tool does not query DNS, a registrar, a registry, certificate transparency, WHOIS, or an availability service.

Does a mixed-script warning prove a domain is unsafe?

It identifies several common writing scripts and warns when one label contains more than one. That is only a review aid; it cannot establish intent, ownership, reputation, or protection from every confusable character.

Will every browser display the Unicode form?

No. Browsers, email clients, and registries can apply additional display or acceptance policies. Use the ASCII form for exact DNS comparison and verify behavior in the target system.

How This Tool Was Verified

Maintained and tested by Reviewed

Method: Using IDN Converter for Unicode and Punycode Domains, we reproduced “Map a Japanese separator and keep the root dot” from the exact sample input. The result comparison covered “Keep an untouched comparison value” and “Convert with strict IDNA checks”; the linked test evidence was then checked for “Comparing only the displayed Unicode” and “Assuming conversion means the name is registrable”.

Expected result: The Japanese full-width separator normalized correctly, both international labels became portal.xn--r8jz45g.xn--zckzah.example., and the trailing root dot survived the round trip.

Sources and standards

Open the tested workflow

Related workflow guides

Use these focused guides when you need a practical workflow before opening the tool.

Workflow guide

Analyze a Content-Security-Policy header before deployment

Use this workflow when a CSP blocks an expected resource, a candidate policy produces noisy reports, or a proxy changes the header you intended to ship. It combines local policy parsing with browser violation evidence and a final deployed-edge check, without treating static findings as a security certificate.

Workflow guide

Choose and verify a binary-to-text encoding for data handoffs

Use this workflow when an API, database field, DNS label, email body, configuration file, or legacy transport asks for Base32, Base58, Base62, Base85, hexadecimal, entities, Punycode, quoted-printable, UTF-16, or UUEncode but does not fully describe the variant.

Workflow guide

Convert an international domain to Punycode for DNS checks

Use this workflow when an internationalized hostname appears as readable Unicode in one place and xn-- ASCII labels in another, and you need a precise comparison without confusing conversion with registration or security approval.

Workflow guide

Create a QR Code for a Link That Scans Reliably

Use this workflow when a website, form, menu, event page, or support link must move from paper, packaging, a PDF, or a presentation into a phone without relying on a tracking or redirect service.

Workflow guide

Encode one URL query value without breaking the outer link

Use this workflow when data inside one query parameter contains spaces, ampersands, equals signs, Unicode, a plus sign, or another complete URL.

Workflow guide

Debug a callback URL without losing query order or encoding evidence

Use this workflow when an OAuth, SSO, webhook, campaign, or application callback looks correct in a browser but the receiving system reads another path or parameter value.

Workflow guide

Inspect zero-width characters before removing them from text

Use this workflow when two values look identical but compare, search, wrap, parse, or render differently. Map supported controls before editing, distinguish common hidden separators from joining and line-break controls, retain exact line endings and normalization, and record why each removal was safe.

Related Tools

Continue with another maintained workflow

Browse All Tools