Gerador e Validador de CNPJ Brasileiro para Testes
Gere números de CNPJ brasileiros válidos e valide os existentes com esta ferramenta simples projetada para desenvolvedores e testadores que trabalham com identificações de empresas brasileiras.
Gerador e Validador de CNPJ Brasileiro
Gerador de CNPJ
Gere um número de CNPJ brasileiro válido para fins de teste.
Validador de CNPJ
Verifique se um número de CNPJ brasileiro é válido.
Documentação
Gerador e Validador de CNPJ Brasileiro
Introdução
O CNPJ (Cadastro Nacional da Pessoa Jurídica) é um número de identificação único atribuído a empresas e entidades legais no Brasil. Esta ferramenta de gerador e validador de CNPJ brasileiro oferece uma maneira simples e eficiente de gerar números de CNPJ válidos para fins de teste e validar números de CNPJ existentes de acordo com o algoritmo oficial brasileiro. Seja você um desenvolvedor testando aplicativos que lidam com dados empresariais brasileiros, um profissional de QA criando casos de teste, ou qualquer pessoa que trabalhe com informações de empresas brasileiras, esta ferramenta simplifica o processo de trabalho com números de CNPJ.
Ao contrário dos números de CNPJ reais que são oficialmente emitidos pela Receita Federal do Brasil, os CNPJs gerados por esta ferramenta são matematicamente válidos, mas não registrados a empresas reais. Isso os torna perfeitos para cenários de teste, dados de exemplo e ambientes de desenvolvimento onde você precisa de números de CNPJ formatados e válidos sem usar identificadores de empresas reais.
O que é um CNPJ?
Um CNPJ (Cadastro Nacional da Pessoa Jurídica) é um número de identificação de 14 dígitos atribuído a empresas e entidades legais pela Receita Federal do Brasil. Ele serve como o equivalente brasileiro de um número de registro de empresa ou ID fiscal. Toda empresa que opera legalmente no Brasil deve ter um CNPJ, que é utilizado para:
- Relatórios e conformidade fiscal
- Registro de empresas junto a órgãos governamentais
- Abertura de contas bancárias
- Emissão de notas fiscais e recibos
- Participação em licitações governamentais
- Importação e exportação de mercadorias
O CNPJ é um identificador essencial no ecossistema empresarial do Brasil e aparece em documentos oficiais, contratos e registros financeiros.
Estrutura e Formato do CNPJ
Um CNPJ brasileiro consiste em 14 dígitos, tipicamente formatados como: XX.XXX.XXX/YYYY-ZZ
A estrutura se divide da seguinte forma:
- Primeiros 8 dígitos (XX.XXX.XXX): Número base atribuído à empresa
- 4 dígitos após a barra (YYYY): Identificador da filial (0001 para a matriz, outros números para filiais)
- Últimos 2 dígitos (ZZ): Dígitos de verificação para validação
Por exemplo, um CNPJ devidamente formatado pode parecer: 12.345.678/0001-95
Os dígitos de verificação (os dois últimos números) são calculados usando um algoritmo matemático específico que valida a autenticidade do CNPJ. Este algoritmo garante que números gerados aleatoriamente não possam passar na validação sem seguir o método de cálculo adequado.
Como Funciona a Validação do CNPJ
O algoritmo de validação do CNPJ utiliza um cálculo ponderado para determinar os dígitos de verificação. Veja como funciona:
Cálculo do Primeiro Dígito de Verificação
- Multiplique cada um dos primeiros 12 dígitos por uma sequência de pesos: 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
- Some os resultados dessas multiplicações
- Calcule o resto dessa soma dividida por 11
- Se o resto for menor que 2, o primeiro dígito de verificação é 0; caso contrário, é 11 menos o resto
Cálculo do Segundo Dígito de Verificação
- Multiplique cada um dos primeiros 13 dígitos (incluindo o primeiro dígito de verificação) por uma sequência de pesos: 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
- Some os resultados dessas multiplicações
- Calcule o resto dessa soma dividida por 11
- Se o resto for menor que 2, o segundo dígito de verificação é 0; caso contrário, é 11 menos o resto
Para que um CNPJ seja válido, ambos os dígitos de verificação devem corresponder aos valores calculados.
Como Usar Esta Ferramenta
Nossa ferramenta de Gerador e Validador de CNPJ Brasileiro oferece duas funções principais: gerar CNPJs válidos e validar números de CNPJ existentes.
Gerando um CNPJ
Para gerar um CNPJ válido para fins de teste:
- Navegue até a seção "Gerador de CNPJ" da ferramenta
- Clique no botão "Gerar CNPJ"
- Um CNPJ matematicamente válido aparecerá na exibição formatada
- Use o botão "Copiar" para copiar o CNPJ gerado para sua área de transferência
O CNPJ gerado seguirá todas as regras de validação matemática de um CNPJ real, mas não está registrado na Receita Federal do Brasil.
Validando um CNPJ
Para verificar se um CNPJ é matematicamente válido:
- Navegue até a seção "Validador de CNPJ" da ferramenta
- Insira o CNPJ que deseja validar no campo de entrada
- A ferramenta aceita CNPJs com ou sem formatação (pontos, barras e hífens)
- Clique no botão "Validar"
- A ferramenta exibirá se o CNPJ é válido ou inválido com base no algoritmo de dígitos de verificação
O validador verifica se o CNPJ segue o formato correto e se os dígitos de verificação correspondem aos valores esperados de acordo com o algoritmo de validação.
Casos de Uso
Esta ferramenta de gerador e validador de CNPJ Brasileiro é particularmente útil nos seguintes cenários:
Desenvolvimento e Teste de Software
- Criando Dados de Teste: Gere CNPJs válidos para preencher bancos de dados de teste sem usar identificadores de empresas reais
- Teste de Unidade: Valide funções de manipulação de CNPJ em seu código com exemplos conhecidos válidos e inválidos
- Teste de QA: Crie casos de teste para formulários e interfaces que exigem entrada de CNPJ
- Teste de Integração: Teste sistemas que trocam dados com serviços governamentais brasileiros ou instituições financeiras
Educação e Treinamento
- Aprendendo o Formato do CNPJ: Entenda como os identificadores empresariais brasileiros são estruturados
- Estudo de Algoritmos: Examine como a validação de dígitos de verificação funciona na prática
- Técnicas de Validação de Dados: Estude exemplos do mundo real de requisitos de validação de dados
Processamento de Dados
- Limpeza de Dados: Valide CNPJs em conjuntos de dados existentes para identificar possíveis erros
- Validação de Formulários: Implemente validação do lado do cliente ou do servidor para entradas de CNPJ
- Anonimização de Dados: Substitua CNPJs reais por gerados válidos ao preparar conjuntos de dados para análise
Negócios Internacionais
- Preparação para Entrada no Mercado: Entenda os requisitos de identificação empresarial do Brasil
- Preparação de Documentos: Assegure a formatação correta ao preparar documentos empresariais para o Brasil
- Verificação de Conformidade: Verifique se os números de CNPJ coletados são pelo menos matematicamente válidos
Alternativas
Embora nossa ferramenta forneça uma solução simples e baseada em navegador para gerar e validar CNPJs, existem várias alternativas dependendo de suas necessidades específicas:
Bibliotecas de Programação
Para desenvolvedores que integram a validação de CNPJ diretamente em aplicativos, várias bibliotecas específicas de linguagem estão disponíveis:
- JavaScript:
cpf_cnpj.js
,validator.js
- Python:
python-cnpj
,validate-docbr
- PHP:
brazilianutils
,respect/validation
- Java:
caelum-stella
,commons-validator
- Ruby:
cpf_cnpj
,brazilian-rails
Essas bibliotecas geralmente oferecem funcionalidades adicionais, como formatação, análise e validação de outros documentos brasileiros.
Serviços de API
Para aplicativos que exigem validação sem implementar o algoritmo:
- APIs do governo brasileiro (requer registro)
- APIs de validação comerciais que incluem verificação de CNPJ
- Serviços de informação empresarial que validam contra o banco de dados oficial
Cálculo Manual
Para fins educacionais ou validações únicas, você pode aplicar manualmente o algoritmo:
- Extraia os primeiros 12 dígitos do CNPJ
- Realize os cálculos ponderados conforme descrito anteriormente
- Compare os dígitos de verificação calculados com os dígitos de verificação reais
No entanto, o cálculo manual é propenso a erros e ineficiente para uso regular.
Implementação Técnica
O gerador e validador de CNPJ nesta ferramenta são implementados usando JavaScript, tornando-o rápido e capaz de rodar inteiramente em seu navegador sem enviar seus dados a um servidor. Veja como as funções principais funcionam:
Algoritmo de Geração de CNPJ
1function generateCNPJ() {
2 // Gere os primeiros 12 dígitos aleatoriamente
3 const digits = Array.from({ length: 12 }, () => Math.floor(Math.random() * 10));
4
5 // Calcule o primeiro dígito de verificação
6 const firstCheckDigit = calculateCheckDigit(digits);
7 digits.push(firstCheckDigit);
8
9 // Calcule o segundo dígito de verificação
10 const secondCheckDigit = calculateCheckDigit(digits);
11 digits.push(secondCheckDigit);
12
13 // Formate o CNPJ
14 return formatCNPJ(digits.join(''));
15}
16
17function calculateCheckDigit(digits) {
18 const weights = digits.length < 13
19 ? [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
20 : [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
21
22 const sum = digits.reduce((acc, digit, index) => {
23 return acc + digit * weights[index];
24 }, 0);
25
26 const remainder = sum % 11;
27 return remainder < 2 ? 0 : 11 - remainder;
28}
29
Algoritmo de Validação de CNPJ
1function validateCNPJ(cnpj) {
2 // Remove caracteres não numéricos
3 const cleanCNPJ = cnpj.replace(/\D/g, '');
4
5 // Verifique se tem o comprimento correto
6 if (cleanCNPJ.length !== 14) return false;
7
8 // Verifique padrões conhecidos inválidos (todos os mesmos dígitos)
9 if (/^(\d)\1+$/.test(cleanCNPJ)) return false;
10
11 // Converta para um array de dígitos
12 const digits = cleanCNPJ.split('').map(Number);
13
14 // Verifique o primeiro dígito de verificação
15 const expectedFirstDigit = calculateCheckDigit(digits.slice(0, 12));
16 if (digits[12] !== expectedFirstDigit) return false;
17
18 // Verifique o segundo dígito de verificação
19 const expectedSecondDigit = calculateCheckDigit(digits.slice(0, 13));
20 if (digits[13] !== expectedSecondDigit) return false;
21
22 return true;
23}
24
Função de Formatação de CNPJ
1function formatCNPJ(cnpj) {
2 // Remove caracteres não numéricos
3 const cleanCNPJ = cnpj.replace(/\D/g, '');
4
5 // Formate com base no comprimento
6 if (cleanCNPJ.length <= 2) {
7 return cleanCNPJ;
8 } else if (cleanCNPJ.length <= 5) {
9 return `${cleanCNPJ.slice(0, 2)}.${cleanCNPJ.slice(2)}`;
10 } else if (cleanCNPJ.length <= 8) {
11 return `${cleanCNPJ.slice(0, 2)}.${cleanCNPJ.slice(2, 5)}.${cleanCNPJ.slice(5)}`;
12 } else if (cleanCNPJ.length <= 12) {
13 return `${cleanCNPJ.slice(0, 2)}.${cleanCNPJ.slice(2, 5)}.${cleanCNPJ.slice(5, 8)}/${cleanCNPJ.slice(8)}`;
14 } else {
15 return `${cleanCNPJ.slice(0, 2)}.${cleanCNPJ.slice(2, 5)}.${cleanCNPJ.slice(5, 8)}/${cleanCNPJ.slice(8, 12)}-${cleanCNPJ.slice(12, 14)}`;
16 }
17}
18
Essas funções principais podem ser implementadas em outras linguagens de programação seguindo a mesma lógica. Aqui estão exemplos em Python e Java:
Implementação em Python
1import random
2
3def calculate_check_digit(digits):
4 weights = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2] if len(digits) < 13 else [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
5
6 total = 0
7 for i in range(len(digits)):
8 total += digits[i] * weights[i]
9
10 remainder = total % 11
11 return 0 if remainder < 2 else 11 - remainder
12
13def generate_cnpj():
14 # Gere os primeiros 12 dígitos aleatoriamente
15 digits = [random.randint(0, 9) for _ in range(12)]
16
17 # Calcule o primeiro dígito de verificação
18 first_check = calculate_check_digit(digits)
19 digits.append(first_check)
20
21 # Calcule o segundo dígito de verificação
22 second_check = calculate_check_digit(digits)
23 digits.append(second_check)
24
25 # Formate o CNPJ
26 cnpj = ''.join(map(str, digits))
27 return f"{cnpj[:2]}.{cnpj[2:5]}.{cnpj[5:8]}/{cnpj[8:12]}-{cnpj[12:]}"
28
29def validate_cnpj(cnpj):
30 # Remove caracteres não numéricos
31 cnpj = ''.join(filter(str.isdigit, cnpj))
32
33 # Verifique o comprimento
34 if len(cnpj) != 14:
35 return False
36
37 # Verifique se todos os dígitos são os mesmos
38 if len(set(cnpj)) == 1:
39 return False
40
41 # Converta para lista de inteiros
42 digits = [int(d) for d in cnpj]
43
44 # Valide o primeiro dígito de verificação
45 first_check = calculate_check_digit(digits[:12])
46 if digits[12] != first_check:
47 return False
48
49 # Valide o segundo dígito de verificação
50 second_check = calculate_check_digit(digits[:13])
51 if digits[13] != second_check:
52 return False
53
54 return True
55
Implementação em Java
1import java.util.Random;
2
3public class CNPJUtils {
4
5 public static String generateCNPJ() {
6 Random random = new Random();
7 int[] digits = new int[14];
8
9 // Gere os primeiros 12 dígitos aleatoriamente
10 for (int i = 0; i < 12; i++) {
11 digits[i] = random.nextInt(10);
12 }
13
14 // Calcule o primeiro dígito de verificação
15 digits[12] = calculateCheckDigit(digits, 12);
16
17 // Calcule o segundo dígito de verificação
18 digits[13] = calculateCheckDigit(digits, 13);
19
20 // Formate o CNPJ
21 return String.format("%02d.%03d.%03d/%04d-%02d",
22 digits[0] * 10 + digits[1],
23 digits[2] * 100 + digits[3] * 10 + digits[4],
24 digits[5] * 100 + digits[6] * 10 + digits[7],
25 digits[8] * 1000 + digits[9] * 100 + digits[10] * 10 + digits[11],
26 digits[12] * 10 + digits[13]);
27 }
28
29 private static int calculateCheckDigit(int[] digits, int length) {
30 int[] weights = length < 13
31 ? new int[]{5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2}
32 : new int[]{6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2};
33
34 int sum = 0;
35 for (int i = 0; i < length; i++) {
36 sum += digits[i] * weights[i];
37 }
38
39 int remainder = sum % 11;
40 return remainder < 2 ? 0 : 11 - remainder;
41 }
42
43 public static boolean validateCNPJ(String cnpj) {
44 // Remove caracteres não numéricos
45 cnpj = cnpj.replaceAll("\\D", "");
46
47 // Verifique o comprimento
48 if (cnpj.length() != 14) {
49 return false;
50 }
51
52 // Verifique se todos os dígitos são os mesmos
53 boolean allDigitsSame = true;
54 for (int i = 1; i < cnpj.length(); i++) {
55 if (cnpj.charAt(i) != cnpj.charAt(0)) {
56 allDigitsSame = false;
57 break;
58 }
59 }
60 if (allDigitsSame) {
61 return false;
62 }
63
64 // Converta para array de inteiros
65 int[] digits = new int[14];
66 for (int i = 0; i < 14; i++) {
67 digits[i] = Character.getNumericValue(cnpj.charAt(i));
68 }
69
70 // Valide o primeiro dígito de verificação
71 int firstCheck = calculateCheckDigit(digits, 12);
72 if (digits[12] != firstCheck) {
73 return false;
74 }
75
76 // Valide o segundo dígito de verificação
77 int secondCheck = calculateCheckDigit(digits, 13);
78 if (digits[13] != secondCheck) {
79 return false;
80 }
81
82 return true;
83 }
84}
85
Considerações Importantes
Ao usar esta ferramenta gerador e validador de CNPJ, mantenha as seguintes considerações em mente:
Considerações Legais e Éticas
- Não para Fraude: CNPJs gerados nunca devem ser usados para fins fraudulentos ou de má representação
- Apenas para Testes: Esses CNPJs são apenas para fins de teste e desenvolvimento
- Não Registrados: CNPJs gerados são válidos matematicamente, mas não registrados junto às autoridades brasileiras
- Sem Validade no Mundo Real: Eles não podem ser usados para registro de empresas ou fins fiscais reais
Limitações Técnicas
- Sem Informações Empresariais: CNPJs gerados não contêm códigos de setor empresarial reais ou informações de localização
- Sem Verificação de Banco de Dados: O validador verifica apenas a validade matemática, não o status de registro
- Variações de Formato: Embora a ferramenta lide com variações de formatação comuns, alguns sistemas podem exigir formatos específicos
Considerações de Segurança
- Processamento do Lado do Cliente: Todo o processamento acontece em seu navegador; nenhum dado é enviado para servidores
- Sem Armazenamento de Dados: CNPJs gerados não são armazenados ou registrados
- Sem Dados Pessoais: A ferramenta não lida ou processa nenhuma informação pessoal
Perguntas Frequentes
Para que serve um CNPJ no Brasil?
Um CNPJ é o número de registro nacional para empresas e entidades legais no Brasil. É utilizado para fins fiscais, registro de empresas, abertura de contas bancárias e identificação de empresas em transações oficiais.
Os CNPJs gerados por esta ferramenta são reais?
Não. Os CNPJs gerados por esta ferramenta são válidos matematicamente de acordo com o algoritmo de dígitos de verificação, mas não estão registrados na Receita Federal do Brasil e não pertencem a empresas reais.
Posso usar CNPJs gerados para minha empresa?
Não. Para obter um CNPJ legítimo para uma empresa, você deve se registrar na Receita Federal do Brasil seguindo o processo oficial. CNPJs gerados são apenas para fins de teste.
Como posso saber se um CNPJ pertence a uma empresa real?
Para verificar se um CNPJ está registrado a uma empresa real, você precisa consultar o banco de dados da Receita Federal do Brasil. Nossa ferramenta apenas verifica se um CNPJ é matematicamente válido, não se está oficialmente registrado.
Por que o validador rejeita um CNPJ com todos os mesmos dígitos?
CNPJs com todos os mesmos dígitos (como 11.111.111/1111-11) são automaticamente considerados inválidos, mesmo que matematicamente passem no algoritmo de dígitos de verificação. Esta é uma regra estabelecida pela Receita Federal do Brasil.
A ferramenta armazena os CNPJs que eu gero ou valido?
Não. Todo o processamento acontece em seu navegador, e não armazenamos ou transmitimos nenhum dos CNPJs que você gera ou valida.
Posso gerar vários CNPJs de uma vez?
A versão atual da ferramenta gera um CNPJ por vez. Para geração em massa, você pode considerar usar uma das bibliotecas de programação mencionadas na seção Alternativas.
Por que o formato XX.XXX.XXX/XXXX-XX é importante?
Este é o formato oficial exigido pelas autoridades brasileiras. O agrupamento específico ajuda a identificar diferentes componentes do CNPJ, como o número base e o identificador da filial.
Como valido um CNPJ programaticamente?
Você pode implementar o algoritmo de validação em sua linguagem de programação preferida usando os exemplos de código fornecidos na seção Implementação Técnica, ou usar uma das bibliotecas mencionadas na seção Alternativas.
Existem CNPJs especiais para entidades governamentais?
Sim. Entidades governamentais no Brasil têm padrões de CNPJ específicos. Por exemplo, entidades federais muitas vezes começam com dígitos específicos. Nosso gerador cria CNPJs aleatórios e não gera especificamente CNPJs de entidades governamentais.
Referências
- Receita Federal do Brasil - Site Oficial
- "CNPJ - Cadastro Nacional da Pessoa Jurídica" - Wikipedia
- Código Civil Brasileiro (Lei nº 10.406/2002) - Marco legal para entidades empresariais no Brasil
- Instrução Normativa da Receita Federal do Brasil (IN RFB nº 1863/2018) - Regulamentações sobre registro de CNPJ
Experimente Agora
Nossa ferramenta de Gerador e Validador de CNPJ Brasileiro torna o trabalho com esses números de identificação simples e eficiente. Seja testando aplicativos, preparando dados de exemplo ou validando CNPJs existentes, esta ferramenta fornece uma solução direta sem a complexidade de integrações de API ou configurações avançadas.
Gere seu primeiro CNPJ válido agora ou valide um existente usando nossa interface simples!
Feedback
Clique no aviso de feedback para começar a dar feedback sobre esta ferramenta
Ferramentas Relacionadas
Descubra mais ferramentas que podem ser úteis para seu fluxo de trabalho