Dígitos de control CNPJ
Escriba la base 112223330001 y obtendrá los dígitos de control 81, de modo que el CNPJ completo es 11222333000181; o pegue 14 cifras para confirmar ambos dígitos finales. Útil en facturas, altas de proveedores y limpieza de datos. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Número
- 112223330001
- Modo de cálculo
- Compute
- Entrada
- 112223330001
- Dígitos de control
- 81
- Dígito de control 1
- 8
Un CNPJ brasileño (Cadastro Nacional da Pessoa Jurídica) termina con dos dígitos de control que demuestran que el identificador de empresa de catorce dígitos se escribió o almacenó sin una transposición ni un error de un solo dígito. Esta capacidad implementa la regla oficial mod-11 de la Receita Federal usada en todo CNPJ: doce dígitos base identifican el registro raíz y la sucursal, y luego se derivan dos dígitos finales con secuencias de pesos fijas y una regla de resto bajo once. Use el modo compute cuando solo disponga de la base de doce dígitos y necesite ambos dígitos de control para un formulario, factura o importación de datos maestros; use el modo validate cuando un socio, ERP o usuario envíe un CNPJ completo de catorce dígitos y necesite un indicador valid claro más el par esperado para mensajes de error.
Cómo se calculan los dígitos de control del CNPJ brasileño
Un CNPJ tiene siempre catorce dígitos cuando se escribe sin puntuación. Los ocho primeros forman el número de registro raíz asignado a la persona jurídica; los cuatro siguientes identifican la sucursal (0001 es la sucursal habitual de la sede); los dos finales son dígitos de control y nunca se eligen libremente.
Para calcular el primer dígito de control, multiplique los doce dígitos base por la secuencia de pesos 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 de izquierda a derecha, sume los productos, tome esa suma módulo once y mapee el resto: si el resto es menor que dos el dígito de control es cero; en caso contrario es once menos el resto.
Para calcular el segundo dígito de control, añada el primero a la base de doce dígitos y repita el mismo mapeo mod-11 con los trece pesos 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2. La cadena completa de catorce dígitos debe llevar exactamente esos dos dígitos finales. El algoritmo es determinista y local: sin llamada de red a la Receita Federal, sin consulta de catálogo y sin reloj.
Esta herramienta no consulta si una empresa está activa, no convierte el formato XX.XXX.XXX/XXXX-XX en un estado de registro y no afirma que un checksum válido signifique que el CNPJ está autorizado para un régimen fiscal concreto: solo demuestra que la cadena de dígitos está bien formada según la regla oficial mod-11.
Frente a validadores de ID fiscal de varios países, la intención de búsqueda aquí es estrecha: quien necesita la calculadora de dígitos de control CNPJ de Brasil para bases de doce dígitos, no un comprobador general de CPF o RFC.
Dónde encajan los dígitos de control del CNPJ en flujos reales
Los equipos de finanzas y datos maestros reciben bases internas de empresa de doce dígitos y deben añadir los dígitos de control oficiales del CNPJ antes de escribir el identificador en facturas, archivos de pago bancario o perfiles de vendedor en mercados que rechazan ID fiscales inválidos. Los portales de cuentas por pagar validan CNPJ de catorce dígitos en el alta de proveedores para que una sola transposición no cree un proveedor fantasma ni un desajuste de pago.
Los trabajos de calidad de datos recorren cada columna CNPJ de una exportación de CRM o ERP, llaman al modo validate y ponen en cuarentena las filas donde valid es false, capturando tanto ediciones humanas como errores de generadores en uno. No trate un CNPJ que pasa la comprobación como prueba de registro activo ante la Receita Federal o de un régimen fiscal concreto; solo demuestra que los dos dígitos mod-11 son coherentes con la base de doce dígitos bajo los pesos estándar.
Qué puede hacer con ella
Auditar columnas CNPJ en exportaciones de ERP y CRM
Valide por lotes cada CNPJ de catorce dígitos en un archivo de proveedores o clientes y ponga en cuarentena las filas cuyo par de control ya no coincida con el valor esperado recalculado.
Preguntas frecuentes
¿Qué son los dígitos de control del CNPJ brasileño?
Son los dos últimos dígitos de un CNPJ de catorce dígitos, calculados con dos sumas ponderadas mod-11 sucesivas para que los errores de tecleo e importación se detecten normalmente antes de almacenar el identificador o imprimirlo en una factura.
¿Qué ocurre con longitud incorrecta, letras o puntuación?
Las bases todas idénticas se rechazan en compute; los CNPJ completos todos idénticos devuelven valid false en validate. Las tareas de validación fallidas no se facturan.
¿Es gratuita la herramienta de dígitos de control CNPJ de Brasil?
La herramienta del navegador es gratuita y se ejecuta en local.
¿Qué significan los grupos de cifras de un CNPJ?
Las ocho primeras cifras son la raíz del registro de la empresa, las cuatro siguientes identifican el establecimiento, normalmente 0001 para la sede, y las dos últimas son dígitos de control que nunca se eligen libremente.
¿Un CNPJ válido significa que la empresa está activa?
No. Superar la comprobación solo indica que las cifras son coherentes con la regla módulo 11. La herramienta no consulta a la Receita Federal, así que no prueba que el registro esté activo.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/enc/cnpj-brazil \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"112223330001"}'const res = await fetch("https://api.kit.forhosting.com/enc/cnpj-brazil", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "112223330001"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/cnpj-brazil",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "112223330001"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/cnpj-brazil", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"112223330001"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"112223330001"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/cnpj-brazil", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"number": "112223330001"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.cnpj_brazil",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
La entrada no numérica, las longitudes incorrectas y las cadenas de dígitos todos idénticos fallan con invalid_input o valid false en lugar de un recorte silencioso, de modo que nunca almacene un identificador fiscal a medias. La misma aritmética pura se ejecuta gratis en el navegador y al precio publicado de la API.
Contrato de entrada, modos y comportamiento de error
Envíe un campo number que contenga solo caracteres del cero al nueve. Una longitud incorrecta es un error explícito que nombra el modo y la longitud enviada —doce para compute, catorce para validate— de modo que los formularios cliente puedan mostrar «se necesitan doce dígitos» sin adivinar. Las cadenas vacías, el number ausente, los valores de mode inválidos y las bases de doce dígitos todos idénticos en modo compute fallan antes de confiar cualquier suma ponderada para almacenamiento y no se facturan. Prefiera compute cuando cree o complete identificadores de empresa; prefiera validate cuando condicione una consulta o importación a un CNPJ completo de un usuario o archivo de socio. Espacios, puntos, barras, guiones, letras y puntos decimales se rechazan como entrada no numérica con invalid_input para que un valor recortado en silencio no llegue al almacenamiento. El modo compute es el predeterminado: el motor exige exactamente doce dígitos, devuelve check_digits como cadena de dos caracteres, devuelve check_digit_1 y check_digit_2 por separado, y devuelve with_check como el CNPJ de catorce dígitos que usted puede imprimir o persistir. El modo validate exige exactamente catorce dígitos; la respuesta indica valid true cuando ambos dígitos finales coinciden con expected_check_digits recalculados y la cadena no es una secuencia toda idéntica como catorce ceros. Validate incluye siempre payload (los doce primeros dígitos), los pares de control dados y esperados, repeated_digits y length catorce. Se aceptan alias como digits, cnpj y code para el mismo campo de carga, de forma que las integraciones que ya hablan de «cnpj» no necesiten renombrar. Como la ruta es parse puro sin reloj, fuente aleatoria ni red, el mismo cuerpo JSON produce siempre el mismo resultado JSON en la herramienta gratuita del navegador y en la API a $0.002 por solicitud correcta.
Dónde encajan los dígitos de control del CNPJ en flujos reales
Los formularios de alta de comercio electrónico y B2B pueden recalcular expected_check_digits y mostrar una corrección amable cuando una empresa brasileña pega un número con el último par mal escrito. En todo flujo el contrato es el mismo: solo dígitos, longitud fija por modo, JSON estructurado que usted puede probar con goldens, comportamiento idéntico en navegador gratuito y API prepago, e invalid_input honesto cuando la cadena no es una secuencia pura de dígitos de la longitud correcta o una base toda idéntica en compute.
Casos de integración
Completar una base CNPJ de 12 dígitos para facturas
Llame al modo compute con la base de doce dígitos, almacene with_check y envíe el CNPJ de catorce dígitos a su NFe, remesa bancaria o perfil de vendedor en el mercado.
Validar CNPJ completos tecleados o importados a la entrada
Cuando un formulario o CSV envíe catorce dígitos, llame al modo validate y bloquee el guardado si valid es false, mostrando expected_check_digits para corregir un error de un solo dígito.
Preguntas técnicas
¿Cómo calculo los dígitos de control del CNPJ con esta API?
Haga POST con number exactamente de doce dígitos y mode compute (u omita mode). La respuesta incluye check_digits, check_digit_1, check_digit_2 y with_check (el CNPJ completo de catorce dígitos).
¿Cómo valido un CNPJ completo de catorce dígitos?
Haga POST con la cadena de catorce dígitos y mode validate. La respuesta incluye valid, check_digits, expected_check_digits, payload (dígitos sin el último par) y repeated_digits.