スペインNIE制御文字
X1234567の制御文字はLで、NIE全体はX1234567Lになります。接頭辞と7桁を入力すれば外国人番号を完成でき、NIE全体を貼り付ければ契約書や給与ファイルの前に文字を確認できます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 数
- X1234567
- 計算モード
- Compute
- 入力
- X1234567
- プレフィックス
- X
- プレフィックスの数字
- 0
スペインの NIE(Número de Identidad de Extranjero)は、スペイン国内の 税務・銀行・雇用・在留 の各業務で使われる 外国人用身分番号 です。単なる数字列とは異なり、すべての NIE は X・Y・Z のいずれかで始まり、7 桁の数字が続き、本体がよくある打ち間違いなく入力・保存されたことを示す 1 文字の制御文字で終わります。本機能はスペイン DNI の検査文字と共通の 公式写像 と mod-23 規則を実装します。X を 0、Y を 1、Z を 2 に置き換え、結果を 8 桁の整数として扱い、23 で割った余りを固定表 TRWAGMYFPDXBNJZSQVHLCKE で照合します。接頭辞と 7 桁だけをお持ちでフォームやマスタ取込用の正しい末尾文字が必要なときは compute モードを、パートナー・CRM・利用者が完全な NIE を送り、明確な valid フラグとエラー表示用の期待制御文字が必要なときは validate モードをご利用ください。
スペインNIE制御文字の計算方法
スペインのNIEは、空白やハイフンなしで書くと常に9文字です。先頭はX・Y・Zのいずれか1文字、続く7桁の十進数字、末尾はAからZの制御文字です(すべての字母が出るわけではなく、表は23位置です)。先頭文字は飾りではありません。
歴史的にX・Y・Zは外国人住民に割り当てられた番号帯の順を示し、検査文字の式では同じDNI表を再利用できるよう数字へ書き換えられます。Xを0、Yを1、Zを2に写像し、その1桁と7つの数字文字を連結して、古典的本体X1234567なら01234567のような8桁文字列にします。
その文字列を整数として解釈し(先頭のゼロは剰余の値を変えません)、23で割った余りを求めます。公式列T, R, W, A, G, M, Y, F, P, D, X, B, N, J, Z, S, Q, V, H, L, C, K, Eを、その余りを0始まりの添字として参照します。その位置の文字だけが当該本体の有効な制御文字です。
例:X1234567は01234567に写像され、余りは19、制御文字はL、完全なNIEはX1234567Lです。アルゴリズムは決定的かつ局所的で、スペイン政府へのネットワーク呼び出し、登録簿照会、時計は使いません。本ツールは在留カードの有効性を確認せず、州コードを展開せず、有効なチェックサムがその税制度でNIEが認可されていることを主張しません。
末尾文字が公式mod-23規則と一致することだけを証明します。
入力契約、モード、エラー時の振る舞い
空白とハイフンは除去されるためX-1234567-Lのような一般的な表記も解析できます。computeが既定モードです。validateは末尾の制御文字を含むちょうど9文字が必要です。
長さ不正は、送った長さとモードを名指しする明示エラーです(computeは8、validateは9)。クライアントフォームは推測せず正確なメッセージを出せます。空文字、number欠落、無効なmode、X Y Z以外の接頭辞、数字でない中間、文字でない末尾は、いかなる剰余結果も保存に使う前に失敗し、課金されません。
フォーム用に外国人識別子を完成させるときはcomputeを、利用者やパートナーファイルの完全NIEで検索・取込をゲートするときはvalidateを優先してください。
NIE文字チェックが実務フローに合う場面
人事・給与チームはスペイン国籍以外の従業員を迎え入れ、無効な税IDを拒否する契約・社会保障届出・銀行支払ファイルに書き込む前に正しいNIE制御文字を付ける必要があります。不動産・銀行・通信の申込フォームは口座作成時に9文字の完全NIEを検証し、1文字の打ち間違いで幽霊顧客やコンプライアンス不一致が生まれないようにします。
データ品質ジョブはCRMやERPエクスポートのNIE列を走査し、validateモードを呼び、validがfalseの行を隔離します。人手の編集と、DNIの数字のみ本体とNIE接頭辞規則を混同する生成器のオフバイワンも拾います。どのフローでも契約は同じです。
NIE文字チェックの合格をスペイン当局での有効在留や特定の就労許可の証明とみなさないでください。標準mod-23表の下で8桁写像本体と制御文字が一致することだけを示します。
活用例
CRM・ERPエクスポートのNIE列を監査する
顧客・従業員ファイル内のスペインNIEを一括検証し、制御文字が再計算した期待値と一致しなくなった行を隔離します。
よくある質問
スペインNIEの制御文字とは何ですか?
9文字のNIEの末尾1文字です。先頭のX・Y・Zを0・1・2に写像したあと、8桁の値を23で割った余りが公式表TRWAGMYFPDXBNJZSQVHLCKEの添字となり、その文字が得られます。
長さ不正・接頭辞誤り・句読点ではどうなりますか?
整形式でも文字が誤ったNIEはvalidateでvalid falseになります。失敗した検証タスクは課金されません。
NIEの制御文字はどう計算しますか?
Xを0、Yを1、Zを2に置き換えた8桁の数を23で割り、余りの位置にある文字を表TRWAGMYFPDXBNJZSQVHLCKEから選びます。X1234567なら余りは19で、文字はLです。
NIEの文字はDNIと同じ方法で計算しますか?
はい。スペインのDNIと同じ23文字の表と同じ割り算を使います。違いは、先頭のX・Y・Zを先に0・1・2に置き換える点だけです。
正しい制御文字ならNIEは発行済みですか?
いいえ。確認できるのは、文字が接頭辞と数字に合っていることだけです。スペインの行政機関や登録簿には問い合わせないため、番号の持ち主までは確かめられません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/nie-spain \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"X1234567"}'const res = await fetch("https://api.kit.forhosting.com/enc/nie-spain", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "X1234567"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/nie-spain",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "X1234567"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/nie-spain", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"X1234567"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"X1234567"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/nie-spain", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"number": "X1234567"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.nie_spain",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
不正な入力は黙って整形せず invalid_input で失敗するため、中途半端に掃除された外国人 ID を保存しません。同じ純粋算術がブラウザでは無料、API では公開価格で動作します。
入力契約、モード、エラー時の振る舞い
NIE本体をnumberフィールドで送ってください。ピリオド、スラッシュ、その他の句読点はmalformedとしてinvalid_inputで拒否され、黙って整形された値が保存に届くことはありません。正規化後にちょうど8文字(接頭辞X/Y/Zと7桁)が必要で、control_letter、文字を付けた完全なnie文字列、prefix_digit(0・1・2)、mapped_number、remainderを返します。その文字が再計算したexpected_control_letterと一致すればvalid true、本体は整形式でも文字が誤っていればvalid falseです。validateは常に与えられたcontrol_letter、expected_control_letter、prefix、digits、mapped_number、remainder、期待文字で組み立てた修正済みnieを返します。nie、text、value、code、id、nなどの別名も同じペイロード欄として受け付けるため、既にnieと呼ぶ統合は改名不要です。時計・乱数・ネットワークのない純粋parseのため、同じJSON本文は無料ブラウザと成功リクエストあたり$0.002のAPIで常に同じJSON結果になります。
NIE文字チェックが実務フローに合う場面
移民・引越プラットフォームはexpected_control_letterを再計算し、申請者が末尾を誤った番号を貼り付けたときに親切な修正を示します。
連携の活用例
給与・契約用にNIE本体を完成させる
X/Y/Zと7桁でcomputeモードを呼び出し、返されたnieとcontrol_letterを保存し、完全な識別子を人事・税務・銀行システムへ渡します。
入力・取込時に完全なNIEを検証する
フォームやCSVが9文字を送ったらvalidateモードを呼び、validがfalseなら保存を止め、expected_control_letterを示して1文字の打ち間違い修正を助けます。
技術的な質問
このAPIでスペインNIE制御文字を計算するには?
numberに接頭辞+7桁(例:X1234567)を入れ、mode compute(またはmode省略)でPOSTします。応答にはcontrol_letter、nie(完全9文字)、prefix_digit、mapped_number、remainderが含まれます。
完全なスペインNIEを検証するには?
9文字のNIEとmode validateでPOSTします。応答にはvalid、control_letter(入力値)、expected_control_letter、prefix、digits、mapped_number、remainder、期待文字で組み立てたnieが含まれます。
スペインNIE制御文字ツールは無料ですか?
ブラウザツールは無料でローカル実行です。API呼び出しは公開ベース価格$0.002の前払いKIT残高を使い、無効入力は課金されません。