安全

西班牙 DNI/NIE 驗證

驗證西班牙 DNI 或 NIE 控制字母。

結果

批次檢查——每行貼上一個

驗證西班牙 DNI 或 NIE

輸入 DNI(8 位數字 + 字母)或 NIE(X/Y/Z + 7 位數字 + 字母)驗證控制碼。全在瀏覽器本機執行。

DNI 與 NIE 的控制字母是如何運作的?

西班牙的身份證號碼最後會附上一個並非隨機選取的字母:該字母是依據內政部公布的模 23 規則,由數字運算得出。正因如此,只要有一個數字輸入錯誤或順序顛倒,幾乎都會產生不同的字母,因此銀行、稅務表單及線上服務能立刻判定為輸入錯誤而拒絕受理。

結構

證件格式由誰接收
DNI8 位數字 + 校驗字母針對西班牙公民而言,小於 10 000 000 的數字會在前面補零。該數字後面加上字母後,即為該人的稅號(NIF)。
NIEX、Y 或 Z + 7 位數字 + 檢核字母居住在西班牙、在西班牙工作或在西班牙投資的外國人。X 用於第一代編號,Y 用於從 10 000 000 開始的編號,Z 則預留給之後的編號系列。

公司稅號(舊稱 CIF,以 A 或 B 等字母開頭)遵循不同的規則,不在本工具的適用範圍內。

範例:DNI 12345678

將該數字除以 23,僅保留餘數。然後在官方表格中尋找對應位置的字母,其中位置 0 對應的字母為 T。

號碼12345678
除以 23536768 除以 97 餘數為 14
第 14 位上的字母Z
結果12345678Z

對於 NIE,前置字母會先轉換為數字:X 變成 0,Y 變成 1,Z 變成 2。因此 Y1234567 會被視為 11234567 來檢查,其除以 23 的餘數為 10,對應字母為 X:即 Y1234567X。設定此前置規則是為了避免 X1234567 與 Y1234567 產生相同的字母。

23 個字母的對照表

餘下時間012345678910111213141516171819202122
字母TRWAGMYFPDXBNJZSQVHLCKE

字母 I 與 O 被排除,因為它們在列印文件上看起來像 1 與 0;Ñ 被排除是因為大多數外國鍵盤上沒有這個字;U 也被剔除,如此便恰好剩下 23 個字母。23 是質數,這使得校驗機制比基於完整字母表的表格更為嚴謹。

官方來源

常見錯誤以及該字母無法告知你的資訊

  • 省略前導零:像 01234567X 這樣的 DNI 包含零在內共有 8 位數字。若只輸入 7 位數字,就會被判定為格式錯誤。
  • 容易將 NIE 的兩個字母搞混:第一個字母(X、Y 或 Z)是編號的一部分,最後一個字母才是檢查碼。
  • 掃描或影印件上可能將字母O誤讀為0,或將I誤讀為1。由於檢查碼表中從不使用I、O或U,因此若檢查字母被讀成這些字元,即表示轉錄錯誤。
  • 正確的字母僅能證明數字被正確複製。它無法證明該文件存在、仍具效力,或屬於出示該文件的人;必須透過文件本身或官方服務來驗證身分。
  • 本工具會接受小寫字母與空格,並在檢查前將其標準化。

西班牙的DNI是8位數字加一個控制字母;NIE(針對外國居民)將第一個字元替換為X、Y或Z。控制字母是純數學計算,依據官方規定:數字除以23的餘數索引序列TRWAGMYFPDXBNJZSQVHLCKE。對於NIE,計算前先將X/Y/Z替換為0/1/2。此工具在本地重新計算字母,當不符時告知預期字母,並規範化格式。

控制字母正確只能證明字串格式自洽,無法證明證件確實存在或屬於某人。身分證件由 Ministerio del Interior / Policía Nacional 核發及查驗;需要法律上的確定結論時,請透過官方管道核實。最後驗證:August 2026。

已發布測試向量——每項均透過線上工具驗證:12345678Z 通過(12345678 mod 23 = 14 → TRWAGMYFPDXBNJZSQVHLCKE 中第 14 個字母為 Z)· X1234567L 通過(X→0,1234567 mod 23 = 19 → L)· 12345678A 失敗,並顯示預期字母 Z。批次模式:每行貼上一個號碼,並將逐列結果匯出為 CSV。最後驗證:2026-08-12。

常見問題

DNI 字母如何計算?

取該 8 位數字除以 23 的餘數,再從 TRWAGMYFPDXBNJZSQVHLCKE 中找出對應位置的字母(位置 0 為 T)。內政部的官方範例為:12345678 除以 23 的餘數為 14,而位置 14 的字母是 Z,因此該 NIF 編號為 12345678Z。

NIE 驗證有何不同?

在計算前先將開頭的字母替換:X變為0,Y變為1,Z變為2。接著將結果視為數字並套用相同的mod-23檢查表。Y1234567會被視為11234567來檢查,其餘數為10,因此結果為X: Y1234567X。設定前置詞規則是為了避免X1234567與Y1234567共用同一個檢查字母。

哪些字母永遠不能作為校驗字母?

I、Ñ、O 和 U。I 和 O 看起來太像 1 和 0,大多數外國鍵盤上沒有 Ñ 這個字元,而 U 被排除,這樣就正好剩下 23 個字母,23 是質數。若數字以這些字母結尾,就代表轉寫錯誤。

DNI 與 NIF 是一樣的嗎?

對於西班牙公民而言,答案是肯定的:個人的稅務識別號碼(NIF)是由 DNI 號碼加上其控制字母組成。外國人的 NIF 則是其 NIE。公司稅務號碼(舊稱 CIF,以 A 或 B 等字母開頭)採用不同的檢查規則,本工具並未涵蓋。

我的DNI只有 7 位數字,這算無效嗎?

不是。小於 10 000 000 的數字會在前面補上零,例如 01234567X。驗證前要加上這個零;字母是根據數值計算而來,因此補零不會改變它。

有效的字母是否代表該證件是真的?

不是。該字母僅能證明數字書寫正確。它無法判斷該文件是否存在、是否仍有效,或是否屬於出示該文件的人;這需要憑藉文件本身或官方驗證服務才能確認。

我檢查號碼時,它會被上傳嗎?

不是。這項檢查僅是在瀏覽器中執行一次取模運算。不會傳輸或儲存任何資料,因此批次驗證員工或客戶清單也十分安全。

可以一次檢查整份 DNI/NIE 號碼清單嗎?

可以。開啟批次校驗,將每個編號各佔一行貼上;每一列都會依據相同的 mod-23 規則在本地進行驗證,結果可匯出為 CSV。

最後更新日期: