Elige CPF o CNPJ
El CPF identifica a una persona física: once dígitos. El CNPJ identifica a una empresa: catorce, incluidos cuatro que señalan la sucursal.
CPF de persona física con sus dos dígitos verificadores y la región fiscal que elijas, y CNPJ de empresa con el número de sucursal. Válidos o deliberadamente rotos.
100 % privado. No hay servidor: los datos se generan en tu navegador y no se envían ni se guardan en ninguna parte.
Cómo funciona
El CPF identifica a una persona física: once dígitos. El CNPJ identifica a una empresa: catorce, incluidos cuatro que señalan la sucursal.
El noveno dígito del CPF indica dónde se emitió: 8 es São Paulo, 7 es Rio de Janeiro y Espírito Santo, 0 es Rio Grande do Sul. Útil si tu aplicación lo interpreta.
El CSV trae el documento con y sin máscara, el tipo, la región fiscal y los dígitos verificadores por separado.
El CPF lleva dos dígitos verificadores, y ahí está el error de implementación más frecuente: no se calculan por separado sobre la misma base. El primero se calcula sobre los nueve dígitos iniciales; el segundo, sobre esos nueve más el primer verificador ya calculado.
function dv(base) { // vale para el 1.º y el 2.º
const peso = base.length + 1; // 10 para 9 dígitos, 11 para 10
let suma = 0;
for (let i = 0; i < base.length; i++) suma += Number(base[i]) * (peso - i);
const r = suma % 11;
return String(r < 2 ? 0 : 11 - r); // resto 0 o 1 → dígito 0
}
function cpf(base9) {
const d1 = dv(base9);
const d2 = dv(base9 + d1); // ← el segundo incluye el primero
return base9 + d1 + d2;
}
cpf("111444777") // "11144477735" → 111.444.777-35
Puedes comprobarlo con 111.444.777-35, el CPF de prueba más citado de Brasil.
Y fíjate en la otra trampa del algoritmo: cuando el resto es 0 o 1, el dígito
es 0, no 11 − resto. Si aplicas la resta siempre, te salen dígitos
de dos cifras.
Este es el caso borde que casi ninguna validación cubre, y es real: los CPF con
todos los dígitos iguales —111.111.111-11,
222.222.222-22, 000.000.000-00— satisfacen el algoritmo del
módulo 11. Haz la cuenta: para 111111111 el primer verificador sale 1 y el segundo
también, así que 11111111111 es matemáticamente correcto.
Y sin embargo la Receita Federal los rechaza por regla: son secuencias reservadas que no se asignan a nadie. Por eso una validación de CPF completa necesita dos comprobaciones, no una:
function cpfValido(cpf) {
const d = cpf.replace(/\D/g, "");
if (d.length !== 11) return false;
if (/^(\d)\1{10}$/.test(d)) return false; // ← los once dígitos iguales
return d === cpf9(d.slice(0, 9)); // y el módulo 11
}
Es un caso de prueba negativa excelente porque engaña a quien solo implementó el
algoritmo: el número entra, se guarda, y solo se descubre cuando la Receita lo
rechaza. Escribe 111.111.111-11 a mano en tu formulario y verás si tu validación
está completa.
El noveno dígito del CPF no es aleatorio: indica la región fiscal donde se emitió el documento. Si tu aplicación lo interpreta —para preseleccionar un estado, para enrutar un trámite— necesitas datos de prueba con la región correcta:
| Dígito | Región fiscal |
|---|---|
0 | Rio Grande do Sul |
1 | Distrito Federal, Goiás, Mato Grosso do Sul y Tocantins |
2 | Acre, Amazonas, Amapá, Pará, Rondônia y Roraima |
3 | Ceará, Maranhão y Piauí |
4 | Alagoas, Paraíba, Pernambuco y Rio Grande do Norte |
5 | Bahía y Sergipe |
6 | Minas Gerais |
7 | Espírito Santo y Rio de Janeiro |
8 | São Paulo |
9 | Paraná y Santa Catarina |
El CNPJ tiene catorce dígitos con esta estructura: NN.NNN.NNN/SSSS-DD. Los ocho
primeros identifican a la empresa, los cuatro siguientes la sucursal y los dos
últimos son los verificadores.
La sucursal 0001 es la matriz, y es la que genera esta
herramienta. Las filiales llevan 0002, 0003 y así. Eso significa que dos CNPJ que comparten los
ocho primeros dígitos son la misma empresa en sedes distintas: si tu sistema
agrupa clientes por empresa, ese es el dato que necesita mirar, no el CNPJ completo.
Los pesos del CNPJ son distintos a los del CPF: 5-4-3-2-9-8-7-6-5-4-3-2 para el
primer verificador y 6-5-4-3-2-9-8-7-6-5-4-3-2 para el segundo. Verificado con
11.222.333/0001-81.
111.444.777-35 y 11144477735 son el mismo documento y deben entrar una sola vez.Si buscas esta herramienta en portugués, el término es gerador de CPF. Esta página está en español porque el sitio lo está, pero los documentos que genera son exactamente los mismos: el algoritmo no cambia con el idioma. Y como todo lo demás aquí, no están inscritos en la Receita Federal: pasan la validación matemática y no corresponden a ninguna persona ni empresa registrada.
Preguntas frecuentes
No. Los dos dígitos verificadores son correctos, así que pasa cualquier validación matemática, pero el número no corresponde a ninguna persona registrada. Si tu aplicación consulta la Receita, lo rechazará.
Porque satisface de verdad el algoritmo del módulo 11: es matemáticamente correcto. Pero la Receita Federal rechaza por regla todas las secuencias de dígitos iguales, así que una validación completa debe descartarlas aparte del cálculo. Es el caso borde más útil de este documento.
El CPF identifica a una persona física con once dígitos. El CNPJ identifica a una empresa con catorce, de los cuales cuatro señalan la sucursal: 0001 es la matriz. Los algoritmos son parecidos pero con pesos distintos.
La región fiscal donde se emitió el documento: 8 es São Paulo, 7 es Rio de Janeiro y Espírito Santo, 0 es Rio Grande do Sul. Puedes elegirla en el generador si tu aplicación la interpreta.
No, y no debe usarse para eso. Son datos para probar software. Usar un CPF que no te pertenece ante la administración o una empresa brasileña es suplantación de identidad.
Sí, en lotes de 1, 10, 50 o 100, en CSV o JSON, con el documento con y sin máscara, el tipo, la región fiscal y los verificadores en columnas separadas.
Sigue probando