登录 注册
Punycode

国际化域名(IDN)与Punycode双向转换:在线批量转换工具

DNS 以 xn-- 形式存储国际化域名。在任意一栏输入,每行一个域名、邮箱或链接,另一栏会自动填好。

转换在浏览器中完成,域名不会发往任何地方。

Punycode 形式的西里尔顶级域

在日志、邮件或主机面板里看到 xn--p1ai?那是俄罗斯的 .рф 域。其他西里尔域见下表。

域Punycode适用对象
.рфxn--p1ai俄罗斯
.русxn--p1acf俄语网站
.москваxn--80adxhks莫斯科
.детиxn--d1acj3b儿童网站
.онлайнxn--80asehdb任何网站
.сайтxn--80aswg任何网站
.оргxn--c1avg组织机构
.комxn--j1aef公司
.укрxn--j1amh乌克兰
.белxn--90ais白俄罗斯
.қазxn--80ao21a哈萨克斯坦
.србxn--90a3ac塞尔维亚
.мкдxn--d1alf北马其顿
.монxn--l1acc蒙古
各国字母穿过棱镜,变成 Punycode

什么是 Punycode

DNS 只认拉丁字母、数字和连字符。浏览器用 RFC 3492 中的 Punycode 算法把 münchen.de 转成 xn--mnchen-3ya.de,并在地址栏显示原始写法。

域名的每个标签都单独编码,并加上 xn-- 前缀。拉丁字母标签保持不变:bücher.example.com 变成 xn--bcher-kva.example.com。

西里尔字母 а、е、о、р、с、х 与对应的拉丁字母长得一模一样。骗子注册替换了一个字母的域名,冒充知名网站。转换器会标出混用文字的标签。

什么时候用

  • 主机面板、DNS 或 nginx 配置只接受 xn--,而你的域名里有中文、重音或其他非拉丁字符。
  • 日志或邮件里出现了 xn-- 地址,想知道是哪个网站。
  • 检查邮件里的链接有没有被替换的字母。
  • 为 SSL 证书或爬虫整理域名列表。

常见问题

01xn--p1ai 是什么意思?

它是俄罗斯 .рф 域的 Punycode 形式。前面带 xn-- 前缀的标签也是西里尔字母:xn--e1afmkfd.xn--p1ai 读作 пример.рф。

02怎样把国际化域名写进 nginx 或 DNS?

配置里用 Punycode:server_name xn--mnchen-3ya.de;,DNS 区域里也写同一个名称。浏览器会自动双向转换地址。

03邮箱地址能转成 Punycode 吗?

@ 之后的域名可以像其他域名一样转换。@ 之前的邮箱名保持原样:那里只有支持 SMTPUTF8 的服务器才接受非拉丁字母。

04怎样识别替换了字母的假冒域名?

把地址粘贴到这里。用西里尔 а 代替拉丁 a 的域名会以 xn-- 开头,检查结果会显示它混用了哪些文字。

05为什么浏览器显示的域名是xn--而不是文字?

这是浏览器防止仿冒的保护措施。当名称混用多种文字,或使用看起来像拉丁字母的字母时,浏览器会显示Punycode。只用一种文字、没有形近字母的名称会照常显示。

价格 免费试用1小时