西班牙 DNI/NIE 驗證
驗證西班牙 DNI 或 NIE 控制字母。
批次檢查——每行貼上一個
驗證西班牙 DNI 或 NIE
輸入 DNI(8 位數字 + 字母)或 NIE(X/Y/Z + 7 位數字 + 字母)驗證控制碼。全在瀏覽器本機執行。
DNI 與 NIE 的控制字母是如何運作的?
西班牙的身份證號碼最後會附上一個並非隨機選取的字母:該字母是依據內政部公布的模 23 規則,由數字運算得出。正因如此,只要有一個數字輸入錯誤或順序顛倒,幾乎都會產生不同的字母,因此銀行、稅務表單及線上服務能立刻判定為輸入錯誤而拒絕受理。
結構
| 證件 | 格式 | 由誰接收 |
|---|---|---|
| DNI | 8 位數字 + 校驗字母 | 針對西班牙公民而言,小於 10 000 000 的數字會在前面補零。該數字後面加上字母後,即為該人的稅號(NIF)。 |
| NIE | X、Y 或 Z + 7 位數字 + 檢核字母 | 居住在西班牙、在西班牙工作或在西班牙投資的外國人。X 用於第一代編號,Y 用於從 10 000 000 開始的編號,Z 則預留給之後的編號系列。 |
公司稅號(舊稱 CIF,以 A 或 B 等字母開頭)遵循不同的規則,不在本工具的適用範圍內。
範例:DNI 12345678
將該數字除以 23,僅保留餘數。然後在官方表格中尋找對應位置的字母,其中位置 0 對應的字母為 T。
| 號碼 | 12345678 |
| 除以 23 | 536768 除以 97 餘數為 14 |
| 第 14 位上的字母 | Z |
| 結果 | 12345678Z |
對於 NIE,前置字母會先轉換為數字:X 變成 0,Y 變成 1,Z 變成 2。因此 Y1234567 會被視為 11234567 來檢查,其除以 23 的餘數為 10,對應字母為 X:即 Y1234567X。設定此前置規則是為了避免 X1234567 與 Y1234567 產生相同的字母。
23 個字母的對照表
| 餘下時間 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字母 | T | R | W | A | G | M | Y | F | P | D | X | B | N | J | Z | S | Q | V | H | L | C | K | E |
字母 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。
最後更新日期: