日本マイナンバーチェック桁
11桁の12345678901からは、公式の重み付き合計を11で割る方法でチェック桁6が求まり、12桁の123456789016になります。ハイフンの有無にかかわらず12桁の番号も検証でき、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 数
- 12345678901
- 計算モード
- Compute
- 入力
- 12345678901
- チェックディジット
- 6
- チェックディジット付き
- 123456789016
日本のマイナンバー(個人番号)は、税務・社会保障・災害対応、および増え続ける官民の手続きで使われる12桁の国家識別番号です。先頭11桁が本人を識別し、12桁目は番号規則で定められた固定の重み付き和から導かれるチェックディジットであり、乱数でも登録簿照会の値でもありません。本機能はそのチェックサムのみを実装します。computeモードは末尾のチェックディジットを除くちょうど11桁を受け取り、公式のチェックディジットと完成した12桁文字列を返します。validateモードは12桁の完全な番号(空白やハイフンは任意)を受け取り、末尾桁が再計算した期待値と一致するかを報告します。
日本のマイナンバー・チェックディジットの計算方法
個人番号の公式規則では、マイナンバーのチェックディジットは、左から右へP1からP11と数えた11桁の本体桁から計算される単一の十進桁(0–9)です。各位置には固定の重みQnがあり、nが1から6のとき重みはn+1、nが7から11のとき重みはn−5です。これにより重み列は2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6となります。
アルゴリズムは各本体桁に重みを掛け、11個の積を合計し、その和を11で割った余りを取ります。仮の検査値は11から余りを引いた値であり、その仮の値が10または11なら公開されるチェックディジットは0、それ以外は仮の値そのものです。同等に、余り0と余り1はチェックディジット0に、その他の余りは11から余りを引いた値に対応します。
検証では12桁提出の先頭11桁から期待桁を再計算し、12文字目と比較します。透明な例として本体12345678901はチェックディジット6と完全番号123456789016を与えます。アルゴリズムは決定的かつローカルで、ネットワークも時計も乱数も使いません。
一般的なmod-11やLuhnツールと比べ、ここでの検索意図は狭いです。11桁の本体向けの日本マイナンバー・チェックディジット計算、または12桁の個人番号検証を求める利用者向けであり、決済カードや端末IMEI向けではありません。
入力契約、モード、エラー時の振る舞い
空白とハイフンは除去されるため、1234-5678-9012のような表示形やスペース区切りは正規化後に受理されます。computeが既定モードです。桁数誤りは、送ったモードと長さを名指しする明示的エラーです(computeは11、validateは12)。
クライアントフォームは推測なしに正確なメッセージを表示できます。空文字、number欠落、不正なmodeは重み付き和の前に失敗し、課金されません。
ラベル・テストフィクスチャ・すでに11桁を持つ生成器ではcomputeを、利用者やパートナーフィードからの完全なマイナンバーでフォーム・税務ポータルアップロード・人事取込みをゲートするときはvalidateを選んでください。
チェックディジットだけが誤っている整形式12桁は例外を投げずvalid falseを返すため、バッチジョブはファイル全体を中断せず行を隔離できます。
実務の日本ワークフローでのマイナンバー・チェックディジットの位置づけ
銀行・保険・フィンテックは、日本のプライバシー規則の下で口座開設やKYC更新時にマイナンバー値を検証し、顧客マスタを書く前に打ち間違いを捕捉します。日本の顧客・従業員マスタを読み込むETLジョブは、CSVやXMLフィードの各マイナンバー列を走査し、validateを呼び、validがfalseの行を隔離します。人手編集と生成器のずれの両方を捉えます。
自治体の電子申請はハイフン付きと連続形の両方を受け付けることが多く、桁検査前に空白とハイフンを除けば、第二のアルゴリズムを発明せず契約を単純に保てます。どのワークフローでも約束は同じです。通過したマイナンバー検査を、住民登録で生存していること、有効なマイナンバーカード保持、サービスの権限の証明と見なさないでください。
それは公式の個人番号重みの下で、チェックディジットが11桁本体と整合することだけを示します。
活用例
マスタデータのマイナンバー列を監査する
CRM・税務・給与CSV内の各個人番号を一括検証し、チェックディジットが再計算した期待値と一致しない行を隔離します。
よくある質問
日本のマイナンバー・チェックディジットとは何ですか?
日本の個人番号(My Number / 個人番号)の12桁目で、先頭11桁に対する固定の重み付き和から計算され、入力やスキャンの誤りを番号保存前に多く捕捉します。
マイナンバーのチェック桁はどう計算しますか?
左から11桁にそれぞれ2、3、4、5、6、7、2、3、4、5、6を掛けて合計し、11で割った余りを求めます。11から余りを引いた数がチェック桁ですが、余りが0か1のときは0になります。
チェック桁が正しければ本人の番号だと分かりますか?
いいえ。計算をするだけで登録簿は照会しないため、正しい番号でも本人が存命か、登録済みか、サービスを受けられるかは分かりません。主に打ち間違いを見つけるためのものです。
ハイフンや空白を入れたまま入力できますか?
はい。空白とハイフンは先に取り除くので、1234-5678-9012のような区切った形も12桁として読み取ります。英字やほかの記号は黙って消さずに受け付けません。
チェック桁だけが違う場合はどうなりますか?
エラーで止めずに、無効な番号として結果を返します。そのため、一括処理ではファイル全体を止めずに該当する行だけを取り分けられます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/mynumber-japan \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"12345678901"}'const res = await fetch("https://api.kit.forhosting.com/enc/mynumber-japan", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "12345678901"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/mynumber-japan",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "12345678901"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/mynumber-japan", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"12345678901"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"12345678901"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/mynumber-japan", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"number": "12345678901"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.mynumber_japan",
"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 で失敗します。同じ純粋な算術がブラウザでは無料、公開API価格でも動き、住民登録の照会は行わず、チェックサムが有効でも生存・登録・サービスの利用権を意味しないことを明言しません。
入力契約、モード、エラー時の振る舞い
マイナンバー本体を含むnumberフィールドを送ってください。その他の句読点や文字は非数字入力としてinvalid_inputで拒否され、黙って削られた値が保存に到達しないようにします。エンジンはちょうど11桁を要求し、check_digitを1文字の文字列として返し、印刷や永続化に使える12桁の個人番号としてwith_checkを返し、監査用にweightsとalgorithmを含めます。validateモードはちょうど12桁を受け付け、末尾桁が再計算したexpected_check_digitと一致すればvalid trueを報告し、常にpayload(11桁の本体)、check_digit、expected_check_digit、length、weights、algorithmを含めます。mynumber、my_number、individual_number、digits、codeなどの別名が同じペイロード欄に使えるため、日本語フィールド名の統合でもリネームは不要です。経路は時計・乱数・ネットワークのないpure parseのため、同じJSON本体は無料ブラウザと成功リクエストあたり$0.002のAPIで常に同じJSON結果になります。
実務の日本ワークフローでのマイナンバー・チェックディジットの位置づけ
税務・社会保障ポータルは、市民が12桁の個人番号を入力または貼り付けたときにexpected_check_digitを再計算し、1回の転置が幽霊提出と却下処理を生まないようにします。雇用主と給与ベンダーはcomputeモードでサンドボックスに11桁本体を完成させ、実在市民番号を使わず本番らしい識別子に見えるテスト従業員にwith_checkを保存します。結合テストは123456789016のような既知フィクスチャでwith_checkを固定し、フォームライブラリ・ラベルプリンタ・本APIがずれないようにします。
連携の活用例
テスト用に11桁のマイナンバー本体を完成させる
11桁の本体でcomputeモードを呼び、with_checkを保存し、サンドボックスの税務・給与・自治体テスト記録に12桁の個人番号を使います。
入力または取込みの日本マイナンバーを検証する
フォーム・銀行ファイル・人事フィードが12桁を送ったらvalidateモードを呼び、validがfalseなら登録を止め、expected_check_digitを示して1桁の打ち間違い修正を助けます。
技術的な質問
このAPIでマイナンバーのチェックディジットを計算するには?
numberをちょうど11桁にしmodeをcompute(またはmode省略)でPOSTしてください。応答にcheck_digitとwith_check(完全な12桁の個人番号)が含まれます。
12桁の完全なマイナンバーを検証するには?
数字列(空白・ハイフン任意)とmode validateでPOSTしてください。応答にvalid、check_digit、expected_check_digit、payload(11桁本体)が含まれます。
桁数誤り・文字・奇妙な記号ではどうなりますか?
空白とハイフン除去後、非数字入力およびcomputeで11桁以外・validateで12桁以外はinvalid_inputで拒否されます。失敗した検証タスクは課金されません。
マイナンバー・チェックディジットツールは無料ですか?
ブラウザツールは無料でローカル実行です。API呼び出しは公開の基本価格$0.002で前払いKIT残高を使い、無効入力は課金されません。