cnpjcpf.
Código · Java

CPF e CNPJ em Java

Funções em Java puro (só java.util.regex) para validar CPF e CNPJ — já com o formato alfanumérico. Cada tarefa tem sua página com o código completo e os casos de borda.

Por tarefa

Início rápido

A validação de CPF em um método estático, sem bibliotecas:

Java
public static boolean isValidCpf(String cpf) {
    cpf = cpf.replaceAll("\\D", "");
    if (cpf.length() != 11 || cpf.matches("(\\d)\\1{10}")) return false;
    for (int i = 9; i < 11; i++) {
        int soma = 0;
        for (int j = 0; j < i; j++) soma += (cpf.charAt(j) - '0') * ((i + 1) - j);
        int dv = (soma * 10 % 11) % 10;
        if (dv != cpf.charAt(i) - '0') return false;
    }
    return true;
}

Página completa, com a classe inteira e os casos de borda: validar CPF em Java.

publicidade

Prefere uma biblioteca?

Para projetos maiores, vale usar uma lib mantida: caelum-stella (artefato caelum-stella-core) traz validadores de CPF e CNPJ e integra com Bean Validation — dá para anotar um campo e validar no bean sem escrever o algoritmo à mão. Confirme o suporte ao CNPJ alfanumérico na versão que você instalar.

Continue

Perguntas frequentes

Preciso de alguma dependência para validar CPF e CNPJ em Java?
Não. As funções usam só java.util.regex da biblioteca padrão. Para projetos maiores, a lib caelum-stella (caelum-stella-core) integra com Bean Validation.
O mesmo código valida o CNPJ alfanumérico de 2026?
Sim. A função isValidCnpj trata a base como 12 caracteres alfanuméricos (A–Z, 0–9) com a conversão caractere − 48; o numérico é caso particular. Os 2 dígitos verificadores continuam sempre numéricos.
Válido é o mesmo que existir?
Não. As funções conferem a consistência matemática (módulo 11), não se o documento foi emitido pela Receita Federal.
Código em Java verificado. Algoritmo módulo 11 (numérico e alfanumérico). Revisado em 06/2026.