Validar CPF ou CNPJ
Confere se um CPF ou CNPJ é matematicamente válido: identifica o tipo de documento, aceita com ou sem pontuação e recalcula os dígitos verificadores. Grátis, direto no navegador, sem cadastro. Para quem confere documento antes de contrato, valida cadastro em sistema ou limpa planilha de clientes.
Executar grátis
Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.
O que o dígito verificador entrega
Os dois últimos números do CPF (e do CNPJ) não são aleatórios: são calculados a partir dos anteriores por uma regra fixa, o módulo 11. Se alguém digita um número errado ou inventa um documento de cabeça, a conta quase nunca fecha — e a validação pega na hora. É a primeira barreira contra erro de digitação e documento chutado, usada por todo sistema sério do país.
Válido não é o mesmo que ativo na Receita
Atenção à diferença: esta validação confirma que o número é possível, não que ele pertence a alguém nem que está regular. Um CPF pode passar na conta e estar suspenso; um CNPJ pode ser válido e a empresa, baixada. Situação cadastral é consulta aos sistemas da Receita Federal — outra natureza de verificação. Para barrar erro de digitação e número inventado, que é a necessidade do dia a dia, o dígito verificador resolve.
Use aqui, grátis e sem rastro
Cole o documento na caixa: o veredito sai na hora, com o tipo identificado (CPF ou CNPJ) e o número aceito com ou sem pontos, traço e barra. A conta roda inteira no seu navegador — o documento não é enviado a servidor nenhum, o que importa de verdade quando o dado é o CPF de um cliente. Sem limite, sem cadastro, funcionando no celular.
Para desenvolvedores: no backend, via API
Validação de CPF/CNPJ no front se contorna; no servidor, não. A mesma checagem existe como chamada de API por US$ 0,002, devolvendo JSON com o tipo e o veredito — para o cadastro do seu sistema, a esteira de onboarding ou a auditoria periódica da base. Quem testa software também usa: massa de teste precisa de documentos que passem na validação sem pertencer a ninguém.
Casos de uso
Contrato de aluguel ou de prestação de serviço
Antes de assinar, conferir o CPF do inquilino ou o CNPJ do prestador elimina o erro de transcrição — número válido no contrato é o mínimo para o documento valer na prática.
Checkout e cadastro
E-commerce que emite nota fiscal precisa de CPF/CNPJ válido no pedido. Validar no checkout evita nota rejeitada e retrabalho do financeiro no fim do mês.
Limpeza de base de clientes
Planilhas antigas acumulam documentos com dígito trocado. Passar a coluna pela validação via API aponta as linhas que precisam de conserto antes da migração de sistema.
Massa de dados para teste
QAs precisam de CPFs que passem na validação sem ser de pessoas reais. A checagem confirma se a massa de teste está bem construída.
Perguntas frequentes
A validação consulta a Receita Federal?
Não. Ela confere a matemática do documento (os dígitos verificadores), o que resolve erro de digitação e número inventado. Situação cadastral — ativo, suspenso, baixado — é informação dos sistemas da Receita, fora do escopo desta ferramenta.
Um CPF “gerado para teste” passa na validação?
Passa, se os dígitos fecharem — é exatamente o que a conta verifica. Por isso a validação de dígito barra erro e chute, mas não substitui verificação cadastral quando o processo exige identidade confirmada.
É seguro colar o CPF de um cliente aqui?
A validação roda no seu navegador: o número não é transmitido nem armazenado por nós. De todo modo, trate dado de terceiro com o cuidado que a LGPD pede — o risco seria colar num site que não processa localmente.
Aceita com e sem pontuação?
Sim: 123.456.789-09 e 12345678909 são o mesmo documento para a ferramenta. Ela identifica sozinha se o número é CPF (11 dígitos) ou CNPJ (14).
Quanto custa usar no meu sistema?
US$ 0,002 por documento validado via API, pagamento por uso com PayPal. Aqui na página, grátis, sem limite e sem cadastro — de verdade.
Funciona no celular?
Sim — é uma página comum, roda no navegador do celular sem instalar nada. Cole o documento e pronto.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/verify/tax-id \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/verify/tax-id", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/tax-id",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/tax-id", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/tax-id", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"items": [
"valor-1",
"valor-2"
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.tax_id",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |