User Rating 0.0
Total Usage 0 times
0 lines
Ready
Validation & Analysis
Select a line in the input to see detailed IDNA analysis.
Is this tool helpful?

Your feedback helps us improve.

About

The Internationalized Domain Names in Applications (IDNA) standard allows the global web to exist beyond the limitations of the English alphabet. However, the Domain Name System (DNS) remains restricted to ASCII characters. This tool bridges that gap using the Bootstring algorithm to convert Unicode strings into an ASCII Compatible Encoding (ACE) format, commonly known as Punycode.

Accuracy is paramount. A miscalculated Punycode string results in DNS NXDOMAIN errors, effectively taking a website offline or bouncing emails. This utility goes beyond simple conversion by validating against strict IDNA constraints, checking for label length violations (maximum 63 octets), and identifying prohibited characters that could indicate homograph attacks.

punycode idn dns ascii unicode domain-names

Formulas

Punycode uses the Bootstring algorithm to represent a sequence of code points as a sequence of basic code points (ASCII). The core of this is the representation of integers using a generalized variable-length encoding. The threshold t for a given position k is calculated dynamically:

{
1 if k bias + tmink bias if bias + tmin < k < bias + tmaxtmax if k bias + tmax

The decoder accumulates these weights to determine the code point insertion index i and the code point n:

i i + kj=0 digitj × wj

Reference Data

ParameterValue / LimitDescription
Prefixxn--The ACE prefix distinguishing IDNs from standard ASCII domains.
Max Label Length63 octetsMaximum characters allowed between dots (e.g., sub.example.com).
Max FQDN Length253 octetsTotal length of the domain including dots.
Base36The base used for representing integers in Bootstring.
Tmin1Minimum threshold for the variable-length integer calculation.
Tmax26Maximum threshold for the variable-length integer calculation.
Skew38Damping factor for the adaptation function.
Damp700Initial damping factor.
Initial N128 (0x80)The initial code point bias (start of non-ASCII).
Initial Bias72The starting bias for the state machine.

Frequently Asked Questions

The "xn--" sequence is the ASCII Compatible Encoding (ACE) prefix. It tells applications (browsers, email clients, DNS servers) that the following string is a Punycode-encoded Internationalized Domain Name and should be decoded to Unicode for display.
According to DNS standards (RFC 1035), a single label (the part between dots) cannot exceed 63 octets (bytes). Since Punycode often expands the length of a string (especially for complex scripts like Emoji or Chinese), a short Unicode name might exceed the 63-character limit when converted, rendering it invalid for registration.
Technically, yes, Punycode supports Emojis. However, many Top-Level Domains (TLDs) like .com and .net restrict or ban Emoji registrations to prevent phishing and confusion. You must check the specific policy of the registrar or TLD registry.
A homograph attack uses characters that look identical but are digitally different. For example, a Cyrillic "a" (U+0430) looks exactly like a Latin "a" (U+0061). In Punycode, these produce completely different strings, preventing users from being tricked into visiting a malicious clone of a popular site.