ブラジルCPFチェックディジット
529982247を入力するとチェックディジットは25で、CPF全体は52998224725になります。11桁を貼り付ければ、末尾の2桁が合っているかも確かめられます。11111111111のような仮の番号は無効と判定され、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 数
- 529982247
- 計算モード
- Compute
- 入力
- 529982247
- チェックディジット
- 25
- チェックディジット 1
- 2
ブラジルのCPF(Cadastro de Pessoas Físicas)は、銀行・給与・EC・行政フォームで使われる11桁の税務識別番号です。9桁が本人を示し、末尾2桁は固定のmod-11式から導かれるチェックディジットです。そのため1桁の打ち間違いや多くの転置は、別の有効な登録に見えるよりはるかに失敗しやすくなります。本機能は純粋な9桁基数からその2つのチェックディジットを計算するか、完全な11桁CPFを検証し、保存されている対が再計算値と一致するかを報告します。すべてゼロやすべて1など同一桁の連続は、算術が通ってもブラジル規則では無効として扱います。どちらも同じ純算術を共有し、ネットワーク往復も登録簿の保存もありません。
ブラジルCPFチェックディジットの計算方法
句読点なしで書くとき、CPFは常に11個の十進数字です。先頭9桁が基数登録、第10・第11桁が検証子です。第1チェックディジットを得るには、9個の基数桁それぞれに10から2までの降順ウェイトを掛け、積を合計し、その和を11で割った余りを対応づけます。
余りが2未満なら桁は0、そうでなければ桁は11から余りを引いた値です。第2チェックディジットを得るには、第1チェックを9桁基数に付け足し、ウェイト11から2までで同じmod-11手順を繰り返します。検証はその逆で、先頭9文字から両桁を再計算し、末尾2桁と比較します。
公式運用では、00000000000や11111111111のように全桁が同一のCPFも拒否します。一部のウェイトパターンでは算術が成り立っても、実在の識別子としては発行されないためです。アルゴリズムは固定ウェイトの純粋な整数モジュラー算術なので、同じ9桁はブラウザ・Worker・オフラインテストハーネスのいずれでも常に同じチェック対を生みます。
そのため本機能はモデル呼び出しではなくティアAのparseエンジンとして提供されます。*ツールのmod-97方式と区別できるようにします。
製品ワークフローにおけるCPFチェックディジットの位置づけ
ブラジルのフィンテックやマーケットプレイスのオンボーディングは早い段階でCPFを求めます。フォーカス喪失時にチェックディジットを検証すれば、キー入力ごとに政府登録を呼ばなくても送信失敗とサポート票を減らせます。給与・人事システムは従業員CSVを取り込み、第11桁が一致しなくなった行を隔離すべきです。
人手編集と上流ジェネレータのオフバイワンの両方を捕捉します。どのワークフローでも契約は同じです。正しいチェックディジットを、その人がReceita Federalに実在する証明や文書が有効である証明とみなさないでください。
11桁列がCPF規則のもとで算術的に整形式であり、同一桁プレースホルダでないことだけを示します。これは税務チェックサムツール一般に適用する誠実さの基準と同じです。
活用例
フィクスチャとフォーム用に9桁基数を完成させる
テスト計画や部分レコードから9桁の基数を取り、computeモードを呼び出して、両方のチェックディジットを付けた完全な11桁cpfを保存または表示します。
一括エクスポートのCPF列を監査する
給与CSVやERP抽出の各CPFを一括検証し、チェックディジットが再計算対と一致しない行、または同一桁プレースホルダの行を隔離します。
よくある質問
ブラジルCPFのチェックディジットとは何ですか?
CPFの第10・第11桁で、先頭9桁から公式の降順mod-11ウェイトで計算されます。1桁の打ち間違いや多くの転置は、別の登録に見えるよりはるかに検証失敗しやすくなります。
英字・ドット・ハイフン・誤った桁数ではどうなりますか?
失敗タスクは課金されません。呼び出し前にクライアントでXXX.XXX.XXX-XX形式を除去してください。
ブラジルCPFチェックディジットツールは無料ですか?
ブラウザツールは無料でローカル実行されます。無効入力は課金されません。
11111111111のようなCPFが無効になるのはなぜですか?
00000000000や11111111111のような並びは計算上は合うことがありますが、実際の番号として発行されることはありません。公式の扱いに合わせて、無効と判定します。
CPFの2つ目のチェックディジットはどう計算しますか?
1つ目のチェックディジットを9桁の後ろに付け、10桁に11から2までの重みを掛けて合計します。11で割った余りが2未満なら0、それ以外は11から余りを引いた数になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/cpf-brazil \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"529982247"}'const res = await fetch("https://api.kit.forhosting.com/enc/cpf-brazil", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "529982247"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/cpf-brazil",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "529982247"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/cpf-brazil", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"529982247"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"529982247"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/cpf-brazil", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"number": "529982247"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.cpf_brazil",
"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エラーで拒否されます。ブラウザで無料実行するかKIT APIを呼び出してください。
チェックディジットの計算と完全なCPFの検証
利用者がなじみのXXX.XXX.XXX-XXマスクを打つ場合は、クライアント側で句読点を除去してください。modeの既定はcomputeです。validateモードはちょうど11桁を期待します。空文字、欠落したnumber、不正なmode、誤った桁数(例:8桁や12桁)は加重和の前に失敗し、課金されません。テストやフィクスチャ用に部分登録番号を完成させるときはcomputeを、フォーム・CSV・スキャナから完全なCPFを受け取り保存前に真偽ゲートが必要なときはvalidateを優先してください。0から9の文字だけを含むnumberフィールドを送ってください。空白・ドット・ハイフン・英字・小数点は非数字入力としてinvalid_inputで拒否され、フォームが黙って整形済みの値を受け入れることはありません。ちょうど9桁の基数を与えると、エンジンは2文字の文字列としてcheck_digits、個別にcheck_digit_1とcheck_digit_2、11桁の完全コードとしてcpf、lengthとして11を返します。末尾対が再計算したexpected_check_digitsと一致し、かつ全桁同一の連続でない場合のみvalidはtrueとなり、常にbase(先頭9桁)、送信どおりのcheck_digits、expected_check_digits、baseと期待対から組み立てた正規のcpfが含まれます。この形により、KYCや登録UIで「入力はXY、期待はAB」を2回目の要求なしに表示しやすくなります。経路は時計・乱数源・ネットワークのない純parseのため、同じ入力は無料のブラウザツールとAPIで常に同じJSONになります。成功リクエストあたり$0.002で、カスタム階層を交渉せずにCRM一括取込・取引先ファイル監査・フォームゲートを保護できます。
製品ワークフローにおけるCPFチェックディジットの位置づけ
税務IDとしてCPFを受け付けるECチェックアウトは、validがtrueになるまで進行を止め、対が誤っていればexpected_check_digitsを示せます。データ品質ジョブはエクスポートの各CPF列でexpected_check_digitsを再計算し、請求や税務報告の前に不一致をフラグします。
連携の活用例
入力時に手入力・取込CPFを検証する
登録フォーム、CRM取込、取引先APIが11桁を送ったらvalidateモードを呼び、validがfalseのときは保存を止め、打ち間違い修正のためexpected_check_digitsを示します。
技術的な質問
このAPIでCPFチェックディジットを計算するには?
numberをちょうど9桁にしmode compute(またはmode省略)でPOSTします。応答にはcheck_digits、check_digit_1、check_digit_2、cpf(完全な11桁コード)が含まれます。
完全な11桁CPFを検証するには?
11桁の文字列とmode validateでPOSTします。応答にはvalid、check_digits、expected_check_digits、base、正規のcpfが含まれます。