关于
使用CNPJ生成器创建有效的CNPJ号码。
什么是CNPJ?
国家法人登记号(CNPJ)具有与CPF类似的功能,但仅适用于法人。它在联邦税务局识别公司。
CNPJ必须在公司开具的所有发票和收据以及产品包装上详细说明。 (wikipedia)
CNPJ的生成和验证
CNPJ共有14个字符。前8个是登记号(根编号),接下来4个表示分支(总部为0001),最后2个是根据前12个字符计算出的校验位。2026年7月之前,14个字符全部是数字;现在前12个字符也可以包含字母。
字母数字CNPJ(自2026年7月起)
2026年7月31日,Receita Federal签发了第一个字母数字CNPJ:00.000.000/E08G-12。现在,CNPJ的前12个字符(8位根编号和4位分支编号)除数字外还可以包含字母(A到Z)。最后2个字符,即校验位,仍然是数字。
此前签发的CNPJ依然有效,无需更换,因此任何读取或存储CNPJ的系统现在都必须同时接受两种格式。生成器中的格式切换可以为您生成任一格式的测试值。
校验位如何计算
该规则来自Receita Federal的CNPJ校验位计算手册,适用于两种格式。每个字符都有一个值:其ASCII码减去48。数字保持自身的值(0到9),字母从17开始:A = 17、B = 18、C = 19,依此类推,直到Z = 42。
第一位校验位:从右到左为12个字符分配2到9的权重,在第八个字符之后重新从2开始(5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2)。将每个值乘以其权重,把结果相加,再将总和除以11。
以00.000.000/E08G-12为例逐步计算,其中E = 21,G = 23:
0×5 + 0×4 + 0×3 + 0×2 + 0×9 + 0×8 + 0×7 + 0×6 + E(21)×5 + 0×4 + 8×3 + G(23)×2 = 175
175 mod 11 = 10
11 − 10 = 1第二位校验位:把第一位校验位加到末尾,构成13个字符,然后用权重6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2重复相同的步骤。
0×6 + 0×5 + 0×4 + 0×3 + 0×2 + 0×9 + 0×8 + 0×7 + E(21)×6 + 0×5 + 8×4 + G(23)×3 + 1×2 = 229
229 mod 11 = 9
11 − 9 = 2两位校验位的规则相同:余数为0或1时结果为0;其他余数时结果为11减去余数。由此得到1和2,即00.000.000/E08G-12的最后两位。在纯数字的CNPJ中,每个值就是数字本身,所以旧号码的校验结果与以前完全相同。
开发者须知
请将CNPJ存储为文本而不是数字,并在校验前转换为大写。两种格式都要接受,带或不带点、斜杠和短横线均可:14位数字,或由0–9和A–Z组成的12个字符后跟2位数字。
本工具生成的每个CNPJ都是合成的测试数据。通过校验只表示号码格式正确:它不是真实公司的登记信息,本网站也从不查询真实的登记记录。
使用该工具
此工具是为程序员和测试人员开发的,他们在开发表单时需要不断输入不同的CNPJ号码。