Punycode域名转换工具
将中文等国际化域名与 xn-- 格式互转,按标签检查编码、长度和基本域名结构。
工具资源加载中...
Punycode 域名转换工具介绍
小K工具的 Punycode 域名转换工具使用 RFC 3492 Bootstring 算法,在 Unicode 域名与以 xn-- 开头的 ASCII 标签之间双向转换。可以处理中文域名、带变音符号的域名以及混合标签,适合检查国际化域名在配置中的编码表示。
转换在浏览器中完成,不查询 DNS、不访问目标网站,也不检查注册状态。输入必须是单个纯域名;结果支持复制、TXT 导出和回填切换方向。
逐标签双向转换
分别处理每段域名,普通 ASCII 标签保留,并对已有 xn-- 标签执行解码及重新编码检查。
基本格式与长度检查
检查空标签、横线位置、ASCII 字符、孤立代理项、非规范 Punycode、数值溢出及 ASCII 长度。
点号与大小写处理
中文句号、全角句点和半角片假名句点统一为英文点,ASCII 字母转为小写,保留一个合法末尾根点。
怎样把中文域名转换为 Punycode?
- 选择“域名转 Punycode”,输入一个域名,例如
例子.测试,不要带 https://、路径或端口。 - 点击“转为 Punycode”,查看各个非 ASCII 标签对应的 xn-- 编码。
- 需要反向查看时,选择“Punycode 转 Unicode 域名”,输入 xn-- 域名并转换;也可以将当前结果回填并切换方向。
- 复制结果或导出 TXT。回填只准备下一次输入,需再次点击转换按钮才会生成新结果。
“加载示例”按当前方向填入示例并立即转换;“清空”移除输入、结果与错误。修改输入或方向会收起旧结果。字符数按 Unicode 码点计算,不等于 DNS 字节长度。
Punycode 域名转换示例
bücher.de转换为xn--bcher-kva.de,反向转换得到bücher.de。例子.测试转换为xn--fsqu00a.xn--0zwm56d,每个中文标签分别编码。www.例子.测试.转换为www.xn--fsqu00a.xn--0zwm56d.,保留普通子域及末尾根点。XN--BCHER-KVA.DE解码为bücher.de,ASCII 标签和 xn-- 前缀不区分大小写。
仅 ASCII 大写字母会被转为小写;Unicode 字符本身不进行大小写折叠、NFC 归一化或兼容字符映射。因此视觉相似或 Unicode 表示不同的输入,可能得到不同的 Punycode。
国际化域名转换的使用场景与优势
- 域名配置核对:查看国际化域名在要求 ASCII 主机名的配置中应使用的 Punycode 表示。
- 日志内容识别:把日志、证书资料或配置文本中的 xn-- 标签还原成便于阅读的 Unicode 文字。
- 学习域名编码:对比中文标签、普通英文子域和尾根点在双向转换中的变化。
- 基础格式排查:定位复制时混入的协议、端口、空白、空标签及过长标签。
本工具直接实现 Punycode 算法,不通过浏览器 URL 对象对 Unicode 输入做额外映射,方便查看保留 Unicode 原始码点后的编码结果。
域名输入规则与支持限制
每次只接受一个域名,不接受完整网址、邮箱地址、通配符、端口、路径、查询参数、IP 地址或纯数字地址。标签不能为空,不能以横线开头或结尾;ASCII 部分只能包含字母、数字和横线。控制字符、空白及部分不可见格式字符会被拒绝。
转换后的每个 ASCII 标签最多 63 字节,标签和分隔点合计最多 253 字节,不包含可选的末尾根点;保留根点时文本最多 254 字节。连续点号、多个末尾点号会形成空标签,不能转换。Unicode 输入中的中文句号(U+3002)、全角句点(U+FF0E)和半角片假名句点(U+FF61)会先统一成英文点。
Punycode 是 Unicode 标签的编码算法,不等于完整国际化域名有效性检查。本页不执行完整 IDNA2008 或 UTS #46 的字符映射、双向文字、上下文规则、脚本混用或注册局规则检查;转换成功不代表浏览器、DNS 服务或注册商一定接受该域名,也不代表域名安全可信。Unicode 域名仍需防范视觉相似字符。
需要转换完整网址或查询参数,可使用 URL 编码解码工具;文本字节编码可使用 Base64 编码解码或Base32 编码解码。
Punycode 域名转换常见问答
为什么结果有 xn-- 前缀?
本页用 xn-- 标记采用 Punycode 表示的非 ASCII 域名标签。原本只有英文字母、数字和横线的标签不需要添加前缀。
Punycode 和 URL 百分号编码一样吗?
不同。Punycode 用于表示国际化域名标签,例如 bücher 对应 xn--bcher-kva;百分号编码用于网址中的组件或参数,以 % 加十六进制字节表示字符,两者不能直接替代。
为什么某个 xn-- 标签无法解码?
标签可能缺少字符、包含非法符号、产生无效 Unicode 或数值溢出,也可能无法通过重新编码一致性检查。工具还会拒绝解码后出现的空白、控制字符、分隔点和不符合基本标签规则的内容。
输入纯英文域名为什么基本不变?
普通 ASCII 标签可以直接使用,不需要 Punycode。本页仅把 ASCII 大写字母统一为小写,并检查基本格式和长度。
转换成功能说明域名可注册吗?
不能。注册规则、IDNA 规范、语言字符政策和域名占用状态都需要另外核查。本页只做编码转换和已说明的基本格式检查。