Gerador de RENAVAM
Gere números de RENAVAM fictícios para testar cadastro de veículo e confira o dígito verificador de qualquer número.
Número gerado
43661268202
CSV (Excel) abre com dois cliques no Excel em português (ponto e vírgula, acentos certos). CSV usa vírgula, para programas e scripts. SQL sai sempre sem máscara, para caber na coluna de tamanho fixo. Importe como texto, para não perder os zeros à esquerda.
Validar RENAVAM
Confere no seu navegador. Nada do que você digita ou cola é enviado.
Validar em lote: cole uma coluna da planilha
CSV (Excel) abre com dois cliques no Excel em português (ponto e vírgula, acentos certos). CSV usa vírgula, para programas e scripts.
O RENAVAM tem 11 dígitos: dez de base e um dígito verificador, calculado por módulo 11. Aqui você gera de 1 a 10.000 números fictícios com o dígito correto e confere se um número fecha a conta. A página não consulta veículo, débito nem proprietário: isso é com o Detran do estado.
Como usar
- Informe a quantidade, de 1 a 10.000. Se quiser repetir a mesma lista depois, informe uma semente.
- Clique em Gerar. Cada número sai com 11 dígitos e o verificador certo.
- Copie ou baixe em lista, CSV, CSV (Excel), JSON ou SQL.
- Para conferir um número que você já tem, abra a aba Validar. Ela aceita 9, 10 ou 11 dígitos e completa com zeros à esquerda.
Como o RENAVAM é formado
RENAVAM é a sigla de Registro Nacional de Veículos Automotores. O código identifica o veículo no cadastro nacional e aparece no documento do veículo.
O formato atual tem 11 dígitos, sem máscara: os dez primeiros são a base e o último é o dígito verificador. Exemplo fictício: 00639174205.
Números mais antigos tinham 9 dígitos. Eles continuam valendo: basta completar com zeros à esquerda até dar 11. O dígito verificador não muda, porque zero à esquerda não soma nada na conta.
Como o dígito verificador é calculado
Multiplique os dez dígitos da base pelos pesos 3, 2, 9, 8, 7, 6, 5, 4, 3 e 2, nessa ordem, e some os produtos. Multiplique a soma por 10 e pegue o resto da divisão por 11. Esse resto é o dígito. Se der 10, o dígito é 0.
| Dígito da base | 0 | 0 | 6 | 3 | 9 | 1 | 7 | 4 | 2 | 0 | Soma |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Peso | 3 | 2 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | sem valor |
| Produto | 0 | 0 | 54 | 24 | 63 | 6 | 35 | 16 | 6 | 0 | 204 |
A soma é 204. Vezes 10, dá 2.040. O resto de 2.040 por 11 é 5, então o dígito é 5 e o número completo é 00639174205.
Há quem escreva a mesma regra de outro jeito: 11 menos o resto da soma por 11, trocando 10 e 11 por 0. As duas formas dão sempre o mesmo dígito.
Digite um número completo para ver a conta.
Conta feita com o número 00639174205.
Gere ou valide outro acima e a conta muda junto.
Dígito verificador
| Dígito | 0 | 0 | 6 | 3 | 9 | 1 | 7 | 4 | 2 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|
| Dígito | 0 | 0 | 6 | 3 | 9 | 1 | 7 | 4 | 2 | 0 |
| Peso | 3 | 2 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
| Produto | 0 | 0 | 54 | 24 | 63 | 6 | 35 | 16 | 6 | 0 |
Resto 6 é maior que 1, então DV = 11 − 6 = 5.
O erro mais comum: perder os zeros à esquerda
Boa parte dos RENAVAMs começa com zero. Quando o campo é numérico no banco, na planilha ou no JSON, o zero some e o número passa a ter 9 ou 10 dígitos. A conta do dígito ainda fecha, mas a comparação com outro sistema falha, porque 639174205 e 00639174205 são textos diferentes.
- No banco, use
CHAR(11)e grave sempre com os zeros. - Na entrada, aceite 9 a 11 dígitos e normalize para 11 antes de validar e de gravar.
- No Excel, importe a coluna como texto. O formato CSV (Excel) do lote já vem pronto para isso.
- Na API, mande o RENAVAM como string, nunca como número.
Para testar a normalização, gere um lote, separe os números que começam com zero e confira se eles voltam iguais depois de passar pelo seu sistema.
RENAVAMs inválidos para teste negativo
O gerador também cria números com defeito conhecido:
- Dígito verificador errado: a base está certa e o último dígito não bate.
- Tamanho errado: 12 dígitos, que nenhuma normalização deve aceitar.
- Dígitos repetidos:
00000000000fecha a conta e não deve passar em cadastro nenhum.
Onde usar no teste
Cadastro de frota, cotação de seguro, financiamento, despachante, estacionamento e sistemas de multas pedem o RENAVAM junto com a placa. Em homologação, gere os dois: o RENAVAM aqui e a placa no gerador de placa. Se precisar de várias colunas num arquivo só, use a massa de teste.
Lembre que os dois números são sorteados em separado. Não existe relação entre o RENAVAM e a placa gerados, como existiria num veículo de verdade.
Cuidados legais
Os números são sorteados no seu navegador e não vêm do cadastro de veículos. Um número sorteado pode coincidir com o de um veículo real, então não use o resultado para consultar ou identificar veículo de ninguém.
Usar um RENAVAM inventado em contrato, transferência ou qualquer documento pode configurar crime, como falsidade ideológica (art. 299 do Código Penal).
Código pronto para o seu projeto
const PESOS = [3, 2, 9, 8, 7, 6, 5, 4, 3, 2];
// Dígito verificador a partir da base de 10 dígitos.
function dvRenavam(base) {
let soma = 0;
for (let i = 0; i < 10; i++) soma += Number(base[i]) * PESOS[i];
const dv = (soma * 10) % 11;
return dv === 10 ? 0 : dv;
}
// Aceita 9 a 11 dígitos e devolve o número normalizado, ou null se for inválido.
function normalizarRenavam(entrada) {
const digitos = String(entrada).replace(/\D/g, '');
if (digitos.length < 9 || digitos.length > 11) return null;
const n = digitos.padStart(11, '0');
if (/^(\d)\1{10}$/.test(n)) return null;
return dvRenavam(n.slice(0, 10)) === Number(n[10]) ? n : null;
}
normalizarRenavam('639174205'); // '00639174205'
normalizarRenavam('00639174204'); // null import random
PESOS = (3, 2, 9, 8, 7, 6, 5, 4, 3, 2)
def dv_renavam(base: str) -> int:
soma = sum(int(c) * p for c, p in zip(base, PESOS))
dv = soma * 10 % 11
return 0 if dv == 10 else dv
def gerar_renavam(rng: random.Random) -> str:
base = f"{rng.randrange(10**10):010d}" # mantém os zeros à esquerda
return base + str(dv_renavam(base))
rng = random.Random(2026) # mesma semente, mesma lista
massa = [gerar_renavam(rng) for _ in range(100)] -- RENAVAM como texto de 11 caracteres, com os zeros à esquerda.
CREATE TABLE veiculos_teste (
renavam CHAR(11) NOT NULL CHECK (renavam ~ '^\d{11}$'),
placa CHAR(7) NOT NULL
);
-- Corrige números que perderam os zeros numa coluna numérica antiga.
UPDATE veiculos_legado
SET renavam_texto = lpad(renavam_numero::text, 11, '0');
INSERT INTO veiculos_teste (renavam, placa) VALUES ('00639174205', 'BRA2E19'); Perguntas frequentes
O RENAVAM gerado é de um veículo de verdade?
Não. Ele é sorteado no seu navegador e só segue a regra do dígito verificador. Não está no cadastro de veículos e é recusado em qualquer consulta ao Detran. Serve para teste de software.
Quantos dígitos tem o RENAVAM?
Tem 11 dígitos: dez de base e um dígito verificador. Números antigos, de 9 dígitos, são completados com zeros à esquerda.
Como validar um RENAVAM de 9 dígitos?
Complete com zeros à esquerda até dar 11 dígitos e faça a conta normal. O validador desta página faz isso sozinho.
Dá para ver débitos ou o dono do veículo pelo RENAVAM?
Só no Detran do estado. A página faz a conta do dígito verificador e não busca débitos, multas nem proprietário em cadastro nenhum.
O RENAVAM tem máscara?
Não. Ele é escrito como 11 dígitos seguidos, sem ponto, traço ou barra.
Veja também
Gerador de placa
Placas fictícias no padrão Mercosul ou no antigo, com a conversão de um para o outro.
DJT1G27Número de CNH
Números de registro fictícios e a conferência dos dois dígitos verificadores.
10004586749Massa de teste
Vários tipos de número num arquivo só, uma coluna por tipo, até 10.000 linhas.
cnpj,cpf,pisGerador de CNPJ
Numérico ou alfanumérico, de 1 a 10.000, em CSV, JSON ou SQL.
13.712.274/0001-55Atualizado em 14/11/2026.