跳到正文

证件号码校验与生成

在浏览器中校验 18 个国家的身份证和税号,从 CPF、CURP、codice fiscale 到 DNI、PESEL、INN,显示不通过的原因和号码包含的信息,也可生成格式有效的测试号码。

证件

CPFCadastro de Pessoas Físicas

个人纳税人号码 · 写法如 123.456.789-09

规则来源

空格、点、连字符和斜杠会被忽略。一次最多 10,000 行。

粘贴号码即可检查
每行单独给出结论:不通过时说明原因,通过时显示号码包含的信息。
在浏览器中运行 · 无需上传工作原理

证件号码校验与生成 使用方法

  1. 1

    选择证件

    先选国家,如果该国有多种证件,再选证件,例如巴西的 CPF 或 CNPJ。下方会显示它的书写格式和规则来源。

  2. 2

    检查单个号码或一批号码

    在“检查”标签页中每行粘贴一个号码。每一行都会标为有效、警告或无效,并给出原因和号码包含的字段。

  3. 3

    生成测试号码

    在“生成”标签页中选择数量;如果证件有相应字段,还可选择出生日期范围、性别或地区。然后复制列表,或下载 TXT、CSV 或 JSON。

  4. 4

    补全或计算

    “计算”标签页可补上缺失的校验位或校验字母;对于 codice fiscale、CURP 和 CUIT,还能根据个人信息算出完整号码。

限制与 Pro

免费,无需注册:支持 18 个国家的 25 种证件,每次检查最多 10,000 行,每批生成最多 10,000 个号码;超过 500 项的任务会在后台线程中运行。

Pro 可去除广告;检查和生成本身没有需要解除的额外限制。 了解 Pro

关于 证件号码校验与生成

注册表单、支付服务和报税软件只要有一位数字不对,就会拒绝身份证件号或税号。开发者需要能通过这些校验的号码来做测试数据,普通用户则想知道手里的号码格式是否正确。本工具支持 18 个国家的 25 种证件:巴西的 CPF 和 CNPJ(包括 2026 年 7 月起发放的字母数字 CNPJ)、墨西哥的 CURP 和 RFC、意大利的 codice fiscale、西班牙的 DNI、NIE 和企业 NIF、哥伦比亚的 NIT、阿根廷的 CUIT 和 CUIL、波兰的 PESEL、NIP 和 REGON、土耳其的 T.C. Kimlik No、俄罗斯的 INN 和 SNILS、伊朗的国民编号、中国的居民身份证、中国台湾的身份证、哈萨克斯坦的 IIN、乌克兰的 RNOKPP、埃及的国民身份证、泰国的公民身份证、印度的 Aadhaar,以及韩国的居民登记号。

每次检查都会说明原因:长度不对、校验位应为另一个数字、出生日期不存在,或地区代码没有任何机构使用。号码通过后,还能看到它包含的信息,从 PESEL 中的出生日期和性别,到 codice fiscale 中的市镇。

规则来自发证机构公布的资料,例如巴西联邦税务局的 CNPJ 手册和 RENAPO 的 CURP 规则;没有公布的,则参考知名的开源校验库。每种证件都会列出所依据的来源。

任何工具都无法告诉你的是号码是否真的发放过、属于谁:这需要查询发证机构自己的登记库,而本页面不会联系它们。Aadhaar 和韩国号码可以检查,但不能生成。

隐私

你粘贴的号码,以及在 codice fiscale、CURP 或 CUIT 计算器中输入的姓名和出生日期,都由本页面在浏览器中处理,不会发送到任何地方,也不会查询任何政府登记库。仅会在此浏览器的本地存储中记住你上次选择的证件和标签页。选择意大利时,会加载市镇列表,这是来自本站的静态文件。

功能

给出原因,而不只是红叉

每一行都会指明原因:长度不对、校验位错误(并给出应为的数字)、日期不可能存在,或地区代码未知。

解码号码中的信息

只要证件包含,就会显示出生日期、性别、州、省、市镇、法律形式或税务机关。

能通过校验的测试数据

每批最多 10,000 个,可按出生日期范围、性别和地区生成,并标明仅格式有效、仅用于测试。

各类证件包含哪些信息

出生日期和性别:CURP(墨西哥)、codice fiscale(意大利)、PESEL(波兰)、居民身份证(中国)、RNOKPP(乌克兰)、国民身份证(埃及),通常还有 IIN(哈萨克斯坦)。中国台湾的身份证包含性别和首次登记地,但没有日期。

地点:CPF 的第九位是首次登记的税务区,CURP 写明出生州,codice fiscale 写明市镇或外国国家,中国和埃及的号码包含省或省级行政区,INN 则包含地区和税务机关。

除校验位外几乎没有其他信息:DNI 和 NIE 的字母、T.C. Kimlik No、SNILS、REGON、NIT 和 Aadhaar;伊朗的国民编号和波兰的 NIP 开头也是发证机关的代码。

证件号码校验与生成:常见问题

结果为“有效”,是否说明号码属于真实的个人或公司?
不是。“有效”只表示号码符合其格式的所有公开规则:长度、字符、校验位、日期和地区代码。它是否发放过、属于谁,只有发证机构的登记库才知道,而本工具不会联系它。输错一位甚至可能得到另一个有效号码,所以重要的事请向持有人或发证机构核实。
生成的号码可以用作测试数据吗?
这正是它们的用途:每个号码都能通过表单或校验器的检查,页面也会标明仅格式有效、不属于任何人、仅供测试。多数机构没有公布保留的测试号段,所以随机号码可能碰巧与已发放的号码相同。请只在测试系统中使用;墨西哥发票可使用 SAT 公布的通用 RFC XAXX010101000 作占位。
为什么不能生成 Aadhaar 或韩国居民登记号?
两者都对应真实的个人,用于银行、福利和注册,两国都没有公布测试号段,而伪造号码是已知的欺诈手段。韩国法律也会惩处为牟利编造居民登记号的行为。因此本页面只做检查,包括 Aadhaar 的 Verhoeff 校验位,以及韩国号码中的日期和性别,但不会生成。
为什么有些号码显示“警告”而不是“有效”?
“警告”表示所有能检查的规则都通过了,但仅凭号码本身无法确定某些事项。2020 年 10 月起发放的韩国号码末尾是随机数字,哈萨克斯坦的 IIN 不再必须以出生日期开头,SAT 发放过一些自身校验不通过的 RFC,意大利的地点代码也可能属于列表中没有的市镇。
字母数字 CNPJ 使用什么规则?
自 2026 年 7 月起,巴西联邦税务局发放的 CNPJ 前 12 个字符可以是字母。每个字符按其 ASCII 码减 48 计算,所以 A 是 17,Z 是 42;两位校验位仍按模 11、权重 2 到 9 计算,并且仍为数字。原有的纯数字 CNPJ 保持不变,本页面两种都能检查。

此工具的其他用途