Initially, the Domain Name System (DNS) standard allowed registration of domains containing only ASCII characters - 26 letters of the Latin alphabet (a-z), numbers (0-9) and a hyphen (37 characters in total).
However, with an increase in the number of users whose languages are based on alphabets other than Latin, it was decided to introduce Unicode domain registration, which includes characters from all national alphabets. As a result of this decision, multilingual domain names appeared - Internationalized Domain Names (IDN domains).
Punycode is a standardized method for converting Unicode characters to ASCII supported by the DNS infrastructure. So that the IDN domain after conversion cannot be confused with the regular domain, all IDN domains begin with the special prefix “XN--”. For example, the domain "россия.рф" in Punycode format will look like this - xn--h1alffa9f.xn--p1ai/ OR the Estonian letters õ, ä, ö, and ü are not included in the ASCII system.
The domain is converted to Punycode and vice versa on the browser side, so when you enter an IDN domain into the address bar, the browser itself converts the entered value for interaction with DNS.