GeradoresOnline
Validador

Validador de CNPJ

Verifique se um número de CNPJ tem dígito verificador matematicamente válido.

Este validador apenas confere o algoritmo de dígito verificador — não consulta nenhuma base de dados real, não confirma se o CNPJ pertence a uma empresa de fato.

Documentação técnica

Validar CNPJ: dois vetores de peso, duas chances de errar a implementação

Validar um CNPJ exige recalcular os dois dígitos verificadores a partir dos 12 primeiros dígitos e comparar com os dígitos informados — usando exatamente os dois vetores de peso fixos já documentados na página do gerador de CNPJ ([5,4,3,2,9,8,7,6,5,4,3,2] e [6,5,4,3,2,9,8,7,6,5,4,3,2]). O erro de implementação mais comum nessa validação específica não está na fórmula em si, mas na ordem das operações: o segundo dígito verificador precisa ser calculado sobre os 13 dígitos que já incluem o primeiro dígito verificador recém-calculado — não sobre os 12 dígitos originais mais um placeholder. Inverter essa dependência produz um segundo dígito incorreto mesmo com o vetor de peso certo.

Validar formato não é o mesmo que confirmar existência

Um validador de CNPJ — seja este, seja qualquer outro — confirma exclusivamente a integridade matemática do número: que os dígitos verificadores batem com a fórmula aplicada aos 12 primeiros dígitos. Isso não confirma que existe uma empresa real com aquele CNPJ, nem que ela está ativa perante a Receita Federal. Sistemas que precisam dessa confirmação adicional (por exemplo, antes de aprovar um cadastro de fornecedor) precisam de uma segunda camada de validação — consulta a uma API da Receita Federal ou de um provedor de dados cadastrais — que é estrutural e propositalmente separada da validação de dígito verificador.

Testando o validador com casos de borda, não só com CNPJs válidos

Uma suíte de testes que só verifica CNPJs válidos e reporta "passou" não testa a parte mais importante de um validador: a rejeição correta de entradas inválidas. Casos de borda relevantes incluem um CNPJ com um único dígito trocado (deveria ser rejeitado — testa se a fórmula está implementada corretamente, não só presente), sequências com os 14 dígitos iguais (deveriam ser rejeitadas explicitamente, mesmo passando "por acaso" na fórmula pura), e entradas com comprimento incorreto (13 ou 15 dígitos) — cada um exercitando um caminho de código diferente dentro do validador.

Gostou das ferramentas? Ajude a manter o site no ar: apoiar via Pix · Sobre · Contato · Política de Privacidade