Ferramenta para desenvolvedores
Gerador de RENAVAM Válido
RENAVAM (Registro Nacional de Veículos Automotores) com 11 dígitos e dígito verificador calculado corretamente pelo algoritmo mod-11 do DENATRAN. Passa em qualquer validador de formato. Ideal para mock de despachante, sistema de multas, integração com API do DENATRAN e fixture de QA.
Clique em Gerar para começar
O que é o RENAVAM
RENAVAM é o número único que o DENATRAN atribui a cada veículo automotor registrado no Brasil. Tem 11 dígitos e serve como identificador nacional (diferente da placa, que muda se o veículo for transferido de estado). Aparece no CRLV, boletos de IPVA, licenciamento, multas e qualquer interação com órgão de trânsito.
O último dígito é o verificador, calculado por mod-11 com pesos 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 aplicados aos 10 dígitos base. Se seu sistema valida RENAVAM antes de bater na API do DENATRAN, ele confere esse checksum.
Como funciona o algoritmo
Para gerar um RENAVAM válido:
- Gere 10 dígitos aleatórios (posições 1-10)
- Multiplique cada dígito pelos pesos
3, 2, 9, 8, 7, 6, 5, 4, 3, 2respectivamente - Some os produtos
- Multiplique a soma por 10
- Calcule o resto da divisão por 11
- Se o resto for 10 ou 11, o dígito verificador é 0. Senão, é o próprio resto.
Implementação de referência em TypeScript no blog.
Uso via API REST
# Gerar 100 RENAVAMs válidos
curl "https://fakeforge.com.br/api/generate?type=renavam&quantity=100"
# CSV pra importar em fixture de veículo
curl "https://fakeforge.com.br/api/generate?type=renavam&quantity=1000&format=csv" \
-o fixtures/renavam.csvGrátis: 50 chamadas/dia, até 100 RENAVAMs por chamada. Plano Dev (R$29/mês) libera 10.000/dia.
Node.js: seed de banco de veículos
// 500 veículos com RENAVAM + placa correlacionados
const [renavams, placas] = await Promise.all([
fetch("https://fakeforge.com.br/api/generate?type=renavam&quantity=500")
.then(r => r.json()).then(r => r.data),
fetch("https://fakeforge.com.br/api/generate?type=placa&quantity=500")
.then(r => r.json()).then(r => r.data),
]);
for (let i = 0; i < 500; i++) {
await db.veiculo.create({
data: {
renavam: renavams[i],
placa: placas[i],
}
});
}Perguntas Frequentes
O RENAVAM gerado corresponde a algum veículo real?+
Não. Nossa geração cria números que passam mod-11 do DENATRAN, mas não estão registrados na base oficial. Se sua aplicação consulta o DENATRAN via API, a resposta vai ser 'veículo não encontrado', o que é o comportamento esperado em ambiente de teste.
Gerar RENAVAM fake é crime?+
Não. Gerar números que passam validação de formato para testes de software é prática padrão. Crime é usar RENAVAM (fake ou real) pra emitir documento fraudulento, transferir propriedade indevidamente ou circular sem registro.
Posso testar com API oficial do DENATRAN?+
Não. A API oficial só responde pra veículos registrados. Use o RENAVAM fake pra teste de front-end, mock de despachante e validação de formato. Pra teste end-to-end com API oficial, cada estado tem sandbox próprio com números de teste específicos.
RENAVAM tem UF codificada como o CPF?+
Não. RENAVAM é nacional e não codifica UF. Se um veículo é transferido de SP pra RJ, o RENAVAM permanece o mesmo, só a placa muda (ou nem isso, com placa Mercosul).
Qual formato exibir o RENAVAM?+
O DENATRAN não define formato oficial de exibição. Documentos e sistemas usam variações: XXXXXXXXXXX (contínuo), XXXX XXXX XXX (com espaços a cada 4) ou X.XXX.XXX.XXXX (com pontos). Nossa API devolve com espaços a cada 4 quando formatted=true, ou contínuo quando formatted=false.
Como validar RENAVAM no meu código?+
Extraia só os dígitos, verifique se são 11, aplique o mod-11 com pesos 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 nos 10 primeiros, multiplique por 10, calcule o resto e compare com o 11º dígito. Rejeite sequências repetidas tipo 11111111111.