Automotivo

RENAVAM e Chassi: Para que Servem e Como Validar Dados Veiculares

Entenda a finalidade do RENAVAM e do Chassi (VIN) na gestão veicular e aprenda a validá-los corretamente antes de integrá-los no seu sistema.

13 de junho de 20266 min de leituraDevThru

No setor automotivo e logístico, dois documentos são fundamentais para identificar qualquer veículo no Brasil: o RENAVAM e o Chassi (VIN). Se você trabalha em sistemas de seguros, compra e venda de veículos, frotas ou e-commerce de autopeças, precisa garantir que esses dados sejam inseridos corretamente.

Salvar um RENAVAM inválido ou um Chassi mal formatado no banco de dados pode travar integrações com APIs do Detran ou órgãos de trânsito (como Serpro e Denatran) no momento de emitir guias, checar multas ou realizar transferências.

Neste artigo, explicamos o papel de cada identificador e como estruturar validações eficientes em JavaScript/TypeScript.

O que é o RENAVAM e Como Validar

O RENAVAM (Registro Nacional de Veículos Automotores) funciona como o "CPF" do veículo. Ele armazena todo o histórico físico e legal do carro ou moto (como cor, potência, multas, pendências e IPVA).

Atualmente, o número do RENAVAM possui 11 dígitos, sendo o último o dígito verificador (DV). A validação matemática segue uma variação do algoritmo de **módulo 11**:

Algoritmo de validação do RENAVAM:

  1. Preencha o número com zeros à esquerda se ele tiver menos de 11 caracteres.
  2. Multiplique os primeiros 10 dígitos pelos pesos correspondentes: 3, 2, 9, 8, 7, 6, 5, 4, 3, 2.
  3. Some os resultados dessas multiplicações.
  4. Multiplique a soma por 10 e divida o resultado por 11.
  5. O resto da divisão é o Dígito Verificador. Se o resto for igual a 10, o DV passa a ser 0.
  6. Compare o DV calculado com o último dígito do RENAVAM original.

Implementação em JavaScript:

function validarRenavam(renavam) {
  const cleanRenavam = String(renavam).replace(/\D/g, '');
  
  if (cleanRenavam.length !== 11) return false;

  // Rejeita padrões com dígitos todos iguais
  if (/^(\d)\1{10}$/.test(cleanRenavam)) return false;

  const renavamSemDV = cleanRenavam.substring(0, 10);
  let soma = 0;
  
  // Pesos oficiais para cálculo
  const pesos = [3, 2, 9, 8, 7, 6, 5, 4, 3, 2];

  for (let i = 0; i < 10; i++) {
    soma += parseInt(renavamSemDV.charAt(i), 10) * pesos[i];
  }

  let digitoCalculado = (soma * 10) % 11;
  if (digitoCalculado === 10) digitoCalculado = 0;

  const digitoOriginal = parseInt(cleanRenavam.charAt(10), 10);
  return digitoCalculado === digitoOriginal;
}

O que é o Chassi (VIN) e Como Validar

O Chassi (VIN - Vehicle Identification Number) é uma sequência de 17 caracteres alfanuméricos gravada diretamente no metal estrutural do veículo. É um padrão global regulado pela ISO 3779 que atua como a "certidão de nascimento" do automóvel.

A estrutura de 17 caracteres é dividida em três seções principais:

  • WMI (World Manufacturer Identifier): Primeiros 3 caracteres. Identificam a região geográfica, país e fabricante.
  • VDS (Vehicle Descriptor Section): Posições 4 a 9. Informam os atributos de fábrica (modelo, tipo de motor, cabine).
  • VIS (Vehicle Indicator Section): Posições 10 a 17. Informam o ano de fabricação, código da planta fabril e número sequencial de série.
⚠️ Regra de Ouro: Para evitar confusões de leitura com números, os caracteres alfanuméricos do Chassi nunca devem conter as letras I, O e Q (pois se parecem visualmente com os números 1 e 0).

Validando o Chassi com Regex:

Diferente do RENAVAM, a validação de Chassi em sistemas comerciais brasileiros geralmente foca na estrutura formal dos caracteres e do tamanho (17 caracteres, sem as letras proibidas I, O, Q):

function validarChassi(chassi) {
  const cleanChassi = String(chassi).trim().toUpperCase();
  
  // Garante 17 caracteres alfanuméricos excluindo as letras I, O, Q
  const regexChassi = /^[A-HJ-NPR-Z0-9]{17}$/;
  
  return regexChassi.test(cleanChassi);
}

// Exemplos de uso
console.log(validarChassi('9BWZZZ99Z99999999')); // true (Válido)
console.log(validarChassi('9BWIZZZ9Z99999999')); // false (Contém a letra 'I' proibida)
console.log(validarChassi('9BWZZZ99Z'));          // false (Tamanho incorreto)

Por que Validar Antes de Enviar ao Banco?

Evitar erros de digitação de RENAVAM e Chassi no cadastro do veículo poupa tempo operacional e previne erros de comunicação com bancos de dados do Detran. Adicionar essas validações simples no formulário do seu sistema melhora consideravelmente a consistência do banco de dados.

Para gerar massa de dados válida para homologação ou validar números sob demanda, acesse nossas ferramentas:

🛠️ Experimente na prática

Use nossas ferramentas online gratuitas — sem cadastro, direto no navegador.

RENAVAMChassivalidaçãoautomotivoJavaScriptTypeScript