Validador de CNPJ Alfanumérico — Lote e Migração
Pricing
from $0.10 / 1,000 validation results
Validador de CNPJ Alfanumérico — Lote e Migração
Valide CNPJs numéricos e alfanuméricos em lote pela regra oficial da Receita Federal. Aceita lista, texto, JSON e CSV, calcula dígitos verificadores, aponta erros e duplicados e gera relatório de migração grátis. Validação estrutural determinística, sem consulta externa ou IA.
Pricing
from $0.10 / 1,000 validation results
Rating
0.0
(0)
Developer
Johnn Mottin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
25 minutes ago
Last modified
Categories
Share
Valide CNPJ alfanumérico e numérico em lote pela regra oficial
O CNPJ alfanumérico já está em produção no Brasil. Em 31 de julho de 2026, a Receita Federal informou a geração da primeira inscrição nesse formato: 00.000.000/E08G-12.
Este Actor ajuda a localizar validações antigas que aceitam apenas 14 dígitos e a tratar o novo formato corretamente.
Ele valida CNPJs numéricos e alfanuméricos em lote, calcula os dígitos verificadores pela regra implementada para o novo padrão e entrega um relatório gratuito para diagnóstico de migração da sua base.
Aceita lista direta, texto livre, registros JSON e CSV na mesma execução.
Sem consulta cadastral. Sem API externa. Sem navegador. Sem IA no veredito.
Principais recursos
- CNPJ numérico e alfanumérico
- Validação estrutural determinística
- Dígitos verificadores
- Normalização com ou sem máscara
- Lista direta de CNPJs
- Extração de CNPJ em texto livre
- Registros JSON com campo configurável
- CSV com coluna configurável
- Vírgula ou ponto-e-vírgula no CSV
- Detecção de duplicados na execução
- Posição da primeira ocorrência duplicada
- Erros estruturados por registro
- Posição de caractere inválido
- DV informado x DV calculado
- Relatório de migração gratuito
- Contagem numérico x alfanumérico
- Principais erros da base
- Distribuição por fonte de entrada
- Até 50.000 resultados por execução
- Sem requisição externa
- Pay Per Event
Actor comunitário não-oficial. Sem afiliação com a Receita Federal do Brasil ou qualquer órgão público. A implementação usa a regra estrutural do CNPJ alfanumérico como referência técnica. Validação estrutural não confirma existência, situação cadastral, titularidade ou regularidade de uma inscrição.
Por que este Actor existe
Muitos sistemas históricos ainda possuem validações parecidas com:
^\d{14}$
Esse tipo de regra aceita apenas números.
Com o CNPJ alfanumérico, as primeiras 12 posições podem incluir letras conforme o novo padrão, enquanto as posições de dígito verificador permanecem numéricas.
O problema não afeta somente formulários.
Pode aparecer em:
- ERP;
- CRM;
- gateways;
- APIs;
- ETLs;
- bancos de dados;
- importadores CSV;
- integrações;
- validações frontend;
- validações backend;
- expressões regulares;
- data warehouses;
- sistemas fiscais;
- cadastros de fornecedores.
Este Actor permite testar registros reais e exportações de base usando uma regra única e auditável.
O primeiro CNPJ alfanumérico
A Receita Federal informou em 31/07/2026 que o primeiro CNPJ alfanumérico gerado no país foi:
00.000.000/E08G-12
A inscrição corresponde a uma filial do Banco do Brasil S.A.
Fonte oficial:
https://www.gov.br/receitafederal/pt-br/assuntos/noticias/2026/julho/receita-federal-gera-o-primeiro-cnpj-em-formato-alfanumerico
A página oficial do projeto também informa que os CNPJs já existentes permanecem válidos e que o novo formato passa a ser usado em novas inscrições.
Projeto oficial:
https://www.gov.br/receitafederal/pt-br/acesso-a-informacao/acoes-e-programas/programas-e-atividades/cnpj-alfanumerico
Para quem é
Desenvolvedores
Teste validadores, APIs, importadores e sistemas que precisam aceitar o novo formato.
Empresas de software e SaaS
Verifique bases de clientes, fornecedores e parceiros antes ou durante a migração.
ERP, CRM e sistemas financeiros
Use o Actor para localizar padrões de dados incompatíveis e separar registros numéricos de alfanuméricos.
Contabilidade e BPO
Valide estruturalmente lotes recebidos de diferentes sistemas sem consultar uma base externa.
Equipes de dados
Passe exportações CSV/JSON e obtenha um relatório consolidado de migração.
Automação e integrações
Conecte os resultados a:
- Apify API;
- n8n;
- Make;
- Google Sheets;
- bancos de dados;
- pipelines internos;
- validações de ETL;
- sistemas de qualidade de dados.
Importante: validação estrutural não é consulta cadastral
Este Actor responde:
A estrutura e os dígitos verificadores deste CNPJ estão corretos?
Ele não responde:
Esta empresa existe?
Ele também não retorna:
- razão social;
- situação cadastral;
- CNAE;
- endereço;
- sócios;
- capital social;
- regime tributário.
Para dados cadastrais, use um Actor específico de consulta de empresas.
Como funciona
Para cada valor recebido, o Actor:
- preserva o valor original;
- remove máscara e espaços;
- converte letras para maiúsculas;
- verifica o comprimento;
- verifica os caracteres aceitos nas posições;
- calcula os dígitos verificadores;
- compara os DVs calculados com os informados;
- rejeita sequência repetida inválida;
- classifica o formato como numérico ou alfanumérico quando possível;
- registra os erros encontrados;
- identifica duplicados dentro da execução;
- preserva a origem do registro;
- escreve um
VALIDATION_RESULT; - agrega o relatório gratuito no
RUN_SUMMARY.
Não existe requisição HTTP no fluxo de validação.
Regra estrutural usada
O formato continua visualmente compatível com:
SS.SSS.SSS/SSSS-NN
Na implementação deste Actor:
posições 1–12=0–9 ou A–Zposições 13–14=dígitos numéricos
Letras minúsculas recebidas no input são normalizadas para maiúsculas antes da validação.
Cálculo dos dígitos verificadores
A implementação usa a conversão descrita para o padrão alfanumérico:
valor do caractere=código ASCII − 48
Assim:
0 → 01 → 1...9 → 9A → 17B → 18...Z → 42
O primeiro DV usa os pesos:
5 4 3 2 9 8 7 6 5 4 3 2
O segundo DV usa:
6 5 4 3 2 9 8 7 6 5 4 3 2
O cálculo é módulo 11.
A implementação foi construída como cálculo puro e não depende de uma API externa.
Input
Você pode combinar as quatro fontes de entrada na mesma execução.
Exemplo completo
{"cnpjs": ["12.ABC.345/01DE-35","00.000.000/E08G-12","47.960.950/0001-21"],"text": "Fornecedor da filial: 00.000.000/E08G-12","records": [{"empresa": "Exemplo","cnpj": "12.ABC.345/01DE-35"}],"recordsField": "cnpj","csv": "empresa;cnpj\nEmpresa A;47.960.950/0001-21","csvColumn": "cnpj","maxResults": 10000,"maxRuntimeMs": 300000}
Campos de input
| Campo | Default | Descrição |
|---|---|---|
cnpjs | lista de exemplo | Lista direta de CNPJs. |
text | texto de exemplo | Texto livre do qual candidatos são extraídos. |
records | exemplo JSON | Objetos contendo o CNPJ em uma propriedade. |
recordsField | cnpj | Nome da propriedade usada em records. |
csv | exemplo | Conteúdo CSV com cabeçalho. |
csvColumn | cnpj | Nome ou índice zero-based da coluna. |
maxResults | 10000 | Teto de resultados entregues/cobrados. Máximo 50.000. |
maxRuntimeMs | 300000 | Teto de duração da execução. |
debug | false | Logs adicionais. |
Pelo menos uma fonte precisa conter dados utilizáveis.
Lista direta
Exemplo:
{"cnpjs": ["00.000.000/E08G-12","12.ABC.345/01DE-35","47960950000121"]}
A lista é preservada na ordem recebida.
Texto livre
Exemplo:
{"text": "Fornecedores homologados: 33.000.167/0001-01 e filial 00.000.000/E08G-12."}
O Actor tenta localizar:
- formato mascarado;
- sequência compatível de 14 posições terminando em dois dígitos.
A linha de origem fica disponível em:
sourceLine
Extração de texto é heurística
A rota de texto livre foi criada para conveniência.
Ela não substitui uma lista estruturada quando você precisa de máxima previsibilidade.
Formatos muito diferentes, como:
00.000.000/E08G-12
podem não ser reconhecidos como um único CNPJ.
Para cargas críticas, prefira:
cnpjsrecordscsv
Registros JSON
Exemplo:
{"records": [{"empresa": "Empresa A","documento": "00.000.000/E08G-12"},{"empresa": "Empresa B","documento": "47.960.950/0001-21"}],"recordsField": "documento"}
Se o campo configurado não existir no objeto de amostra, o input é rejeitado antes da cobrança de início.
CSV
Exemplo:
{"csv": "empresa;cnpj\nEmpresa A;00.000.000/E08G-12\nEmpresa B;47.960.950/0001-21","csvColumn": "cnpj"}
O parser escolhe entre:
,;
com base no cabeçalho.
Também aceita célula entre aspas duplas no parser simples implementado.
Coluna CSV por índice
Também é possível usar índice começando em zero.
Exemplo:
{"csv": "empresa;cnpj\nEmpresa A;00.000.000/E08G-12","csvColumn": "1"}
Output
O Dataset contém principalmente:
VALIDATION_RESULTRUN_SUMMARY
VALIDATION_RESULT
Cada valor processado recebe um veredito próprio.
Exemplo — válido
{"recordType": "VALIDATION_RESULT","originalValue": "00.000.000/E08G-12","normalizedCnpj": "00000000E08G12","normalizedFormatted": "00.000.000/E08G-12","format": "alphanumeric","lengthValid": true,"charactersValid": true,"checkDigitsValid": true,"isValid": true,"validationErrors": [],"duplicate": false,"firstSeenPosition": null,"sourceType": "list","sourceIndex": 0,"sourceLine": null,"observedAt": "2026-08-27T00:00:00.000Z"}
Exemplo — DV inválido
{"recordType": "VALIDATION_RESULT","originalValue": "47.960.950/0001-20","normalizedCnpj": "47960950000120","normalizedFormatted": "47.960.950/0001-20","format": "numeric","lengthValid": true,"charactersValid": true,"checkDigitsValid": false,"isValid": false,"validationErrors": [{"code": "CHECK_DIGITS_INVALID","message": "Dígitos verificadores não conferem: informado \"20\", calculado pela norma \"21\"."}],"duplicate": false,"firstSeenPosition": null,"sourceType": "list","sourceIndex": 0,"sourceLine": null,"observedAt": "2026-08-27T00:00:00.000Z"}
Campos de VALIDATION_RESULT
| Campo | Descrição |
|---|---|
recordType | VALIDATION_RESULT. |
originalValue | Valor exatamente como foi recebido. |
normalizedCnpj | Valor normalizado sem máscara. |
normalizedFormatted | Valor formatado quando possível. |
format | numeric, alphanumeric ou null. |
lengthValid | Exatamente 14 posições após normalização. |
charactersValid | Classes de caracteres compatíveis. |
checkDigitsValid | Dígitos verificadores conferem. |
isValid | Veredito estrutural final. |
validationErrors | Lista de problemas encontrados. |
duplicate | O mesmo valor normalizado já apareceu antes nesta execução. |
firstSeenPosition | Posição da primeira ocorrência. |
sourceType | list, records, csv ou text. |
sourceIndex | Índice dentro da fonte. |
sourceLine | Linha quando disponível. |
observedAt | Timestamp da validação. |
Códigos de erro
O validador pode retornar códigos como:
EMPTY_VALUELENGTH_INVALIDINVALID_CHARACTERDV_POSITION_NOT_NUMERICCHECK_DIGITS_INVALIDREPEATED_SEQUENCE
EMPTY_VALUE
O valor ficou vazio após a normalização.
LENGTH_INVALID
O valor não possui exatamente 14 posições.
INVALID_CHARACTER
Existe caractere incompatível nas primeiras 12 posições.
A mensagem informa a posição quando detectável.
DV_POSITION_NOT_NUMERIC
As posições 13 e/ou 14 não são dígitos.
CHECK_DIGITS_INVALID
Os DVs informados não correspondem ao cálculo.
A mensagem inclui o DV calculado.
REPEATED_SEQUENCE
Sequência com todas as 14 posições iguais que passaria por uma checagem matemática simplista, mas não é tratada como inscrição válida pelo Actor.
Duplicados
Duplicados não são removidos.
Cada linha/registro recebe o próprio veredito.
Exemplo:
posição 0: 00.000.000/E08G-12posição 3: 00000000E08G12
A segunda ocorrência pode retornar:
{"duplicate": true,"firstSeenPosition": 0}
Isso é útil para auditoria de uma base porque o Actor preserva a cardinalidade do input processado.
Relatório de migração gratuito
O RUN_SUMMARY inclui:
migrationReport
com agregações da execução.
Exemplo:
{"migrationReport": {"analyzed": 9,"valid": 6,"invalid": 3,"numericFormat": 6,"alphanumericFormat": 2,"duplicates": 1,"incompatibleCharacters": 1,"bySource": {"list": 5,"records": 1,"csv": 2,"text": 1},"topProblems": {"CHECK_DIGITS_INVALID": 1,"DV_POSITION_NOT_NUMERIC": 1}}}
O que o relatório ajuda a responder
O resumo pode mostrar:
- quantos registros foram analisados;
- quantos passaram;
- quantos falharam;
- quantos são numéricos;
- quantos são alfanuméricos;
- quantos duplicados apareceram;
- quantos possuem caracteres incompatíveis;
- quais fontes produziram registros;
- quais erros apareceram com mais frequência.
Importante: relatório de base não certifica seu software
Uma base validada não prova automaticamente que:
seu ERP aceita letras no CNPJsua API aceita letrasseu banco de dados aceita letrasseu frontend aceita letras
Este Actor valida os dados fornecidos.
A compatibilidade do software precisa ser testada no próprio software.
API da Apify
Execute o Actor e obtenha o Dataset sincronamente:
curl -s "https://api.apify.com/v2/acts/<SEU_USUARIO>~cnpj-alphanumeric-validator/run-sync-get-dataset-items?token=<SEU_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d '{"cnpjs":["00.000.000/E08G-12","12.ABC.345/01DE-35"],"maxResults":100}'
Substitua:
<SEU_USUARIO><SEU_TOKEN>
pelos seus dados da Apify.
Integrações
Use com:
- Apify API;
- Tasks;
- Schedules;
- webhooks;
- n8n;
- Make;
- Google Sheets;
- bancos de dados;
- pipelines ETL;
- sistemas de QA;
- ferramentas internas.
Agendamento
Validação de base normalmente é:
migração pontual
ou:
validação de cada nova carga
Para uma esteira recorrente:
- salve o input como uma Task;
- abra Schedules;
- escolha a frequência;
- processe o Dataset no sistema downstream.
Cobrança
Este Actor usa Pay Per Event.
O código utiliza:
actor-startvalidation-result
actor-start
É chamado uma vez depois que o input passa pela validação.
Input inválido é rejeitado antes da abertura da cobrança.
validation-result
É cobrado para cada VALIDATION_RESULT entregue.
Um registro inválido também é um resultado útil:
válido=vereditoinválido=veredito
Por isso o produto cobra pela validação processada, não somente pelos CNPJs válidos.
O que é gratuito
O RUN_SUMMARY é gratuito.
O relatório:
migrationReport
também fica dentro desse resumo gratuito.
Input inválido é tratado antes da cobrança de início.
A aba Pricing da página do Actor é sempre a fonte autoritativa dos valores vigentes.
Controle de custo
O principal controle é:
maxResults
Faixa atual:
1–50000
O Actor processa os valores na ordem:
cnpjsrecordscsvtext
Quando o limite é atingido, os registros restantes são contabilizados em:
skippedByCap
Desempenho
A validação é compute puro.
O Actor não:
- consulta a Receita Federal;
- abre páginas;
- resolve DNS;
- chama API externa;
- executa navegador.
O custo de infraestrutura tende a ser pequeno em relação ao volume de resultados, embora tempo e custo finais dependam do ambiente da Apify e do tamanho da entrada.
Health e diagnóstico
O RUN_SUMMARY e o registro:
STATS
fornecem transparência operacional.
Podem incluir:
- registros escritos;
- cobrança;
- limite de resultados;
- runtime;
- warnings;
- qualidade;
- relatório de migração;
- métricas de custo.
Limites honestos
Não confirma existência do CNPJ
Um número pode ser estruturalmente válido e não corresponder a uma inscrição existente.
Não consulta situação cadastral
O Actor não informa se uma empresa está:
ATIVABAIXADASUSPENSAINAPTA
Não corrige o CNPJ automaticamente
Quando o DV está errado, o resultado pode informar o DV calculado.
O Actor não substitui automaticamente o valor recebido, porque o erro real pode estar em outra posição.
Texto livre usa heurística
A extração automática não cobre todo formato arbitrário possível.
Duplicados são entregues e cobrados
A cardinalidade do lote é preservada.
O parser CSV é intencionalmente simples
Suporta as necessidades documentadas desta versão, mas não pretende substituir uma biblioteca CSV completa para formatos extremamente complexos.
recordsField precisa apontar para a propriedade correta
Um campo inexistente na amostra é tratado como input inválido.
Validação estrutural não certifica adequação de sistemas
Use os resultados como dados de teste e diagnóstico, não como certificado de conformidade do software.
A regra pode receber atualização normativa
Se a Receita Federal alterar o padrão no futuro, uma nova versão do Actor poderá ser necessária.
Perguntas frequentes
O CNPJ alfanumérico já existe?
Sim.
A Receita Federal informou a geração do primeiro CNPJ alfanumérico em 31 de julho de 2026.
Qual foi o primeiro CNPJ alfanumérico?
Segundo a Receita Federal:
00.000.000/E08G-12
Os CNPJs numéricos antigos deixaram de valer?
Não.
A Receita Federal informa que os CNPJs já existentes continuam válidos.
O Actor valida CNPJ numérico?
Sim.
O Actor valida CNPJ alfanumérico?
Sim.
Aceita máscara?
Sim.
Aceita letras minúsculas?
Sim.
Elas são normalizadas para maiúsculas.
As duas últimas posições podem ter letras?
Não no contrato implementado.
As posições de DV são numéricas.
Posso validar CSV?
Sim.
Posso colar texto de contrato ou e-mail?
Sim.
Use text.
Posso enviar objetos JSON?
Sim.
Use records + recordsField.
O Actor consulta a Receita Federal?
Não.
Preciso de API key externa?
Não.
Usa IA?
Não.
"Válido" significa que a empresa existe?
Não.
Significa somente que o valor passou pela validação estrutural implementada.
Duplicados são removidos?
Não.
Eles são identificados, mas cada registro recebe um veredito.
Registros inválidos são cobrados?
Sim.
O produto entregue é o veredito de validação.
O relatório de migração é cobrado?
Não.
Posso usar o Actor em uma integração?
Sim.
Use a API da Apify, webhooks ou outra automação.
Este Actor é oficial da Receita Federal?
Não.
É uma ferramenta comunitária independente.
Suporte
Para bugs, dúvidas ou casos de validação:
johnatan291303@gmail.com
Você também pode usar a aba Issues na página do Actor.
Parte da suíte JM Forge
Também do mesmo desenvolvedor:
- Consulta CNPJ Brasil e Empresas por CNAE — consulta cadastral e pesquisa de empresas brasileiras.
- Monitor de Mudanças Cadastrais de CNPJ — monitore mudanças em situação, endereço, CNAE, razão social e quadro societário.
- PNCP Vencedores & Inteligência de Fornecedores — resultados homologados e fornecedores vencedores de compras públicas.
Os Actors permanecem ferramentas independentes.
Use este Actor para validação estrutural e diagnóstico de migração.
Use um Actor cadastral quando precisar confirmar ou enriquecer os dados de uma empresa.