utilduck
Home · 办公 · 西班牙DNI/NIE校验字母计算器

西班牙DNI/NIE校验字母计算器

输入DNI(8位数字)或NIE(X/Y/Z+7位数字),无论是否带字母,均可计算或验证。

结果
-

DNI/NIE校验字母如何计算

校验字母使用固定算法验证西班牙DNI或NIE号码:将8位数字除以23,用余数从字符串'TRWAGMYFPDXBNJZSQVHLCKE'(从0开始索引)中选出对应字母。对于NIE,需先把开头字母替换为数字——X变为0,Y变为1,Z变为2——再进行同样的计算。这样既能为新号码生成正确字母,也能确认现有DNI/NIE是否输入有误。

如何计算DNI/NIE的校验字母?

要计算校验字母,取8位数字(对于NIE,先将开头字母替换为数字:X=0,Y=1,Z=2),除以23,将余数作为固定字符串'TRWAGMYFPDXBNJZSQVHLCKE'的索引。例如:12345678除以23的余数是15,索引15处的字母是'Z'。

计算或验证步骤

  1. 如果输入以X、Y或Z开头(NIE),将该字母分别替换为0、1或2,组成8位数字。
  2. DNI则直接使用原本的8位数字。
  3. 将8位数字除以23,取余数(0-22)。
  4. 在字符串'TRWAGMYFPDXBNJZSQVHLCKE'中查找该余数对应的位置(位置0=T),得到校验字母。
  5. 如果已提供字母,将其与计算结果比较即可判断是否有效。

公式

字母 = "TRWAGMYFPDXBNJZSQVHLCKE"[数字 mod 23]
  • 数字 = DNI的8位数字,或将X/Y/Z替换为0/1/2后的NIE数字
  • mod 23 = 除以23后的余数,始终在0到22之间
  • 这23个字母组成的参照字符串按官方设计排除了元音字母及容易与数字混淆的字母

速答DNI·NIE问题

DNI 12345678对应的字母是什么?

Z。12345678除以23的余数是14,固定的23字母表'TRWAGMYFPDXBNJZSQVHLCKE'中第14位(从0开始数)的字母是Z。

DNI字母表是怎么构建的?是按字母顺序吗?

不是,它是一个固定的非字母顺序序列'TRWAGMYFPDXBNJZSQVHLCKE'。DNI号码除以23的余数决定选取哪个位置的字母,并不是直接从字母表计算出来的。

NIE X1234567对应的字母是什么?

L。前缀X被替换为0,得到数字1234567;1234567除以23的余数是19,对应L。

NIE Y1234567对应的字母是什么?

X。前缀Y被替换为1,得到11234567;11234567除以23的余数是10,对应X。

NIE Z1234567对应的字母是什么?

R。前缀Z被替换为2,得到21234567;21234567除以23的余数是1,对应R。

DNI 00000000对应哪个字母?

T。0除以23的余数是0,表中第一个(第0位)字母就是T。

如果数字前面加0书写,DNI字母会变吗?

不会。计算始终使用完整的8位数字本身,前导零也是数字的一部分,在计算除以23的余数之前不会被去掉。

两个不同的DNI号码会有相同的字母吗?

会。因为可用字母只有23个,而8位数字数量远多于此,所以平均每23个号码中就有1个共享同一字母,单凭字母无法确定具体是哪个DNI。

DNI号码及对应字母示例

号码mod 23字母
1234567815Z
000000000T
8765432121X
2500000013N
999999991R

常见问题

DNI和NIE有什么区别?

DNI(国民身份证)发给西班牙公民,始终由8位数字加一个校验字母组成。NIE(外国人身份号码)发给外国居民,以X、Y或Z开头,后接7位数字和一个校验字母。

为什么计算NIE之前要把开头字母换成数字?

校验字母算法最初是为8位数字设计的。由于NIE在开头字母之后只有7位数字,需要先把开头字母映射成数字(X=0、Y=1、Z=2),凑成完整的8位数字,再套用和DNI相同的mod-23公式。

这个工具能识别出伪造或随意编造的DNI号码吗?

它能确认校验字母是否与前面8位数字在数学上一致,从而发现打错或随意编造的号码。但它无法确认这个号码是否真的由西班牙官方机构签发——那需要通过官方登记系统查询才能确认。

为什么I、O、U这类字母永远不会出现在校验字母里?

参照字符串“TRWAGMYFPDXBNJZSQVHLCKE”特意排除了元音字母以及外形容易混淆的字母和数字,目的是减少口头读出或手写抄录身份证号码时出错的概率。

此工具仅实现公开的校验字母算法,不验证DNI/NIE是否实际签发、当前是否有效,或是否属于真实存在的人。身份核实请使用官方政府服务。

隐私与安全

  • 在浏览器中计算 — 您输入的内容仅在本机设备上计算,不会发送到 utilduck 服务器。
  • 加密连接 — 所有页面均通过 HTTPS 提供,传输过程中无法被读取。
  • 不提供给第三方 — 您输入的内容不会传递给分析或广告服务。
  • 不保存 — 计算结果不会保存到任何服务器,也无需注册账号。

最后更新: 2026-08-24