Punycode 转换工具

输入带有汉字或其他非 ASCII 字母的域名,或以 xn-- 开头的名称。您会得到 DNS 和邮件系统使用的形式,每个标签在表格中单独占一行。

免费 在浏览器中运行 核对于2026年11月10日星期二

完整的名称,例如 中文.example,或单个标签。用点分隔各标签。

方向

自动检测会按每个标签自己的字母进行转换:xn-- 标签被解码,含非 ASCII 字母的标签被编码。

结果

转换后的名称 — 复制到 DNS 面板、邮件设置或页面中,也可以下载为文本文件。
转换后的名称
逐个标签

此工具在您的浏览器中运行。您输入的内容不会发送给我们。

使用方法

  1. 在 域名 中输入域名。单个标签也可以。
  2. 让 方向 保持为自动检测,或选择 Unicode 转 ASCII、ASCII 转 Unicode,强制朝一个方向转换。
  3. 把 转换后的名称 复制到您的 DNS 面板、邮件设置或页面中。
  4. 对于由多个部分组成的名称,请查看 逐个标签:每一行显示该标签发生了什么。

域名如何变成 Punycode

域名系统只能携带 ASCII 字母、数字和连字符。因此 RFC 3490 要求把含有非 ASCII 字母的每个标签写成 ACE 形式:前缀 xn-- 加上该标签的 Punycode 文本。只含 ASCII 字母的标签保持不变,标签之间的点也保持不变。

  • 像 example 这样的标签保持原样。
  • 像“中文”这样的标签加上前缀 xn--,再加上它的 Punycode 文本,此处为 fiq228c。
  • 以 xn-- 开头的标签(大小写不论)会被解码回它的 Unicode 字母。

Punycode 如何书写一个标签

RFC 3492 先写出标签中的基本 ASCII 字母,保持其原有顺序,然后是一个连字符,之后为每个其他字母写一个长度可变的数字。数字使用基数36,数字符号为 a 到 z 和0到9。每个数字的大小会根据前面的数字调整,因此常用字母的编码较短。

其参数为:基数36,tmin 为1,tmax 为26,skew 为38,damp 为700,初始 bias 为72,初始 n 为128(RFC 3492 第5节)。

工具不检查什么

  • 它不运行 Nameprep(RFC 3491)或字母的 IDNA 映射,因此大写的非 ASCII 字母和兼容字符的结果可能与浏览器不同。
  • 它不检查标签或整个名称的长度。
  • 它不查询该名称,也不能告诉您某个注册机构是否允许它。

示例:中文.example

标签“中文”含有两个非 ASCII 的汉字。它的 Punycode 文本为 fiq228c,因此标签变为 xn--fiq228c,整个名称变为 xn--fiq228c.example。标签 example 只含 ASCII 字母,保持不变。

标签 结果 发生了什么
中文 xn--fiq228c 已编码为 xn--
example example 未改变

常见问题

xn-- 前缀是什么意思?

它标明该标签包含 Punycode。RFC 3490 规定每个 ACE 标签都以 ACE 前缀开头,即大小写不论的 xn--,之后是该标签的 Punycode 文本。

ASCII 标签中的大写字母会被改变吗?

不会。RFC 3490 规定 ASCII 标签保持不变,因此 Example 仍然是 Example。只有含非 ASCII 字母的标签,其字母才会被重写。

为什么我的名称与浏览器显示的版本不同?

工具不会先映射字母。Nameprep 和 IDNA 映射会在 Punycode 步骤之前,把大写的非 ASCII 字母和兼容字符(例如全角字符)转换为其标准形式。请在您使用的浏览器或注册机构中核对结果。

这个转换工具会把我的域名发送到什么地方吗?

不会。转换在您的浏览器中进行。您输入的名称不会发送给我们,也不会保存,并且不会进行任何 DNS 查询。

可以用它转换电子邮件地址吗?

只转换域名部分,即 @ 符号之后的文字。工具会保持 @ 之前的本地部分原样不变,因此地址的其余部分不受影响。

xn-- 标签无效时会怎样?

工具会停止,并指出该标签。前缀之后,有效的标签只使用 a 到 z 的字母、数字和连字符,并且数字部分必须完整,因此请检查标签是否有输入错误。

资料来源

数据和文字最近核对于2026年11月10日星期二。

我们使用必要的 Cookie 来运行网站。经您同意后,Google 还会使用广告 Cookie 展示个性化广告。如果您拒绝,仍会看到广告,但广告不会个性化。