# Validador de RENAVAM

> Este validador confere se um número de RENAVAM é válido pelo cálculo do dígito verificador. Ele aceita o formato atual, com 11 dígitos, e o antigo, com 9, que ganha dois zeros à esquerda. Serve para pegar erros de digitação em cadastros e testar sistemas; ele não consulta o Detran, então não mostra o dono nem a situação do veículo.

- Endereço oficial: https://pradev.com.br/validador-de-renavam
- Categoria: Veículos
- Tipo: Validador
- Atualizado em: 2026-10-02
- Autor: Leonardo Gaertner (https://pradev.com.br/sobre)
- Preço: grátis, sem cadastro. O processamento acontece no navegador de quem usa.

## Como usar

1. Digite ou cole o RENAVAM, com ou sem pontuação.
2. Com 11 dígitos, o resultado aparece na hora. Para o antigo, de 9, saia do campo.
3. Se aparecer inválido, confira se algum número foi trocado.

## Como funciona

O último dígito do RENAVAM é calculado a partir dos 10 anteriores: cada um é multiplicado por um peso (3, 2, 9, 8, 7, 6, 5, 4, 3 e 2), a soma é multiplicada por 10 e dividida por 11, e o resto é o dígito, com 10 virando 0. O validador refaz a conta e compara com o dígito digitado.

Uma troca de um único número quase sempre muda o resultado, por isso a conferência pega a maioria dos erros de digitação. Um número válido no cálculo, porém, pode não pertencer a nenhum veículo: só a consulta ao Detran confirma.

### Exemplos

```text
26827649960: válido
26827649961: inválido (o dígito certo é 0)
639854150 (antigo, 9 dígitos): válido, e no formato atual fica 00639854150
```

### Como conferimos esta ferramenta

O cálculo do dígito é comparado com duas bibliotecas independentes: a validation-br, em JavaScript, e a validate-docbr, em Python, em milhares de números sorteados, inclusive no formato antigo de 9 dígitos. Método: https://pradev.com.br/como-testamos

## Em código

Para validar o RENAVAM no seu sistema, este é o mesmo cálculo da ferramenta: completa o número antigo com zeros, recusa sequências repetidas e confere o dígito.

```javascript
// Valida o RENAVAM: 11 dígitos (os antigos, de 9, ganham dois zeros à esquerda).
// O dígito é (soma dos 10 primeiros × pesos 3,2,9,8,7,6,5,4,3,2) × 10 mod 11, e 10 vira 0.
function validarRenavam(valor) {
  let r = String(valor).replace(/\D/g, '');
  if (r.length === 9) r = r.padStart(11, '0');
  if (r.length !== 11 || /^(\d)\1{10}$/.test(r)) return false;
  const pesos = [3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
  const soma = pesos.reduce((s, p, i) => s + Number(r[i]) * p, 0);
  const dv = ((soma * 10) % 11) % 10; // resto 10 vira 0
  return dv === Number(r[10]);
}

console.log(validarRenavam('26827649960')); // true
```

_JavaScript_

```python
import re


def validar_renavam(valor: str) -> bool:
    r = re.sub(r"\D", "", str(valor))
    if len(r) == 9:  # RENAVAM antigo: completa com zeros à esquerda
        r = r.zfill(11)
    if len(r) != 11 or r == r[0] * 11:
        return False
    pesos = [3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
    soma = sum(int(d) * p for d, p in zip(r, pesos))
    dv = (soma * 10) % 11 % 10  # resto 10 vira 0
    return dv == int(r[10])


print(validar_renavam("26827649960"))  # True
```

_Python_

```php
<?php
function validarRenavam(string $valor): bool
{
    $r = preg_replace('/\D/', '', $valor);
    if (strlen($r) === 9) {
        $r = str_pad($r, 11, '0', STR_PAD_LEFT); // RENAVAM antigo
    }
    if (strlen($r) !== 11 || preg_match('/^(\d)\1{10}$/', $r)) {
        return false;
    }
    $pesos = [3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
    $soma = 0;
    foreach ($pesos as $i => $p) {
        $soma += (int) $r[$i] * $p;
    }
    $dv = ($soma * 10) % 11 % 10; // resto 10 vira 0
    return $dv === (int) $r[10];
}

var_dump(validarRenavam('26827649960')); // bool(true)
```

_PHP_

## Perguntas frequentes

### Onde encontro o RENAVAM do meu carro?

No documento do veículo (CRLV), impresso ou digital, no aplicativo Carteira Digital de Trânsito e nos sites dos Detrans. Ele tem 11 dígitos, ou 9 nos documentos mais antigos.

### Este validador consulta débitos ou o dono do veículo?

Não. Ele só confere o cálculo do dígito verificador, sem acessar nenhum cadastro. O número digitado não sai do seu navegador.

### Como validar RENAVAM no meu sistema?

Use o código desta página, em JavaScript, Python ou PHP: ele faz a mesma conta do validador e já trata o formato antigo de 9 dígitos.

## Ferramentas relacionadas

- [Gerador de RENAVAM](https://pradev.com.br/gerador-de-renavam): Gere números de RENAVAM com o dígito verificador correto para testar sistemas de frota, seguro e cadastro de veículos. Grátis e no navegador.
- [Gerador de Placa de Veículos](https://pradev.com.br/gerador-de-placa-de-veiculos): Gere placas de carro no padrão Mercosul (ABC1D23) ou antigo (ABC-1234) para testes, e converta uma placa antiga para o Mercosul. Grátis.
- [Validador de CNH](https://pradev.com.br/validador-de-cnh): Confira se o número de registro de uma CNH é válido pelo cálculo dos dígitos verificadores. Grátis, na hora e sem enviar o número a nenhum servidor.
- [Validador de CPF](https://pradev.com.br/validador-de-cpf): Confira se um CPF é válido pelo cálculo dos dígitos verificadores. Grátis, sem cadastro, e o número não sai do seu navegador.
- [Decodificador de Chassi (VIN)](https://pradev.com.br/decodificador-de-chassi): Descubra o país de fabricação, o fabricante e o ano-modelo pelo número do chassi (VIN), e confira o dígito verificador. Grátis e no navegador.
