Última atualização: 8 de setembro de 2026
Gerador de Placa de Veículo
Gere placas fictícias nos formatos antigo (ABC-1234) e Mercosul (ABC1D23).
Acima de 1, o resultado vira uma lista com exportação em texto ou JSON.
Placas geradas (0)
O JSON já sai pronto para importar como massa de teste em scripts, coleções do Postman ou seed de banco de dados.
Nota de conformidade: as placas geradas aqui são 100% fictícias, combinadas aleatoriamente respeitando apenas o formato oficial (antigo ou Mercosul). Não correspondem a nenhum veículo real registrado — o uso é exclusivo para testes de software e ambientes de desenvolvimento.
Como usar o Gerador de Placa de Veículo
- 1Escolha o formato. Antigo (ABC-1234) ou Mercosul (ABC1D23).
- 2Clique em "Gerar Placa". Para gerar várias de uma vez, mude a quantidade antes de clicar.
- 3Copie o resultado. Use o ícone de copiar (ou "Copiar Tudo"/"Copiar como JSON" no modo lote).
Formato antigo x formato Mercosul
O Brasil adotou o padrão Mercosul de placas a partir de 2018, mas os dois formatos continuam circulando (placas antigas não são trocadas automaticamente). Diferente do CPF e do CNPJ, a placa não tem dígito verificador — é só uma combinação de letras e números seguindo um padrão fixo de posições, sem validação matemática.
Isso muda o tipo de teste que faz sentido aplicar: em vez de gerar uma placa e depois "provar" matematicamente que ela é válida (como se faz com CPF, CNPJ ou RENAVAM), o objetivo aqui é só garantir que o campo aceita corretamente os dois formatos possíveis — e rejeita qualquer string que não siga nenhum dos dois. Escolher o formato manualmente nesta ferramenta (em vez de sempre sortear aleatoriamente) ajuda a isolar esse tipo de teste.
| Formato | Padrão | Exemplo |
|---|---|---|
| Antigo | LLL-NNNN | ABC-1234 |
| Mercosul | LLLNLNN | ABC1D23 |
Exemplo de código: geração de placa Mercosul em JavaScript
function letraAleatoria() {
return String.fromCharCode(65 + Math.floor(Math.random() * 26));
}
function gerarPlacaMercosul() {
const l = letraAleatoria;
const n = () => Math.floor(Math.random() * 10);
return `${l()}${l()}${l()}${n()}${l()}${n()}${n()}`;
}
Por não ter dígito verificador, testar validação de placa costuma ser mais sobre formato (regex correta para os dois padrões) do que sobre matemática — um erro comum é uma regex que só aceita o formato antigo e rejeita placas Mercosul válidas, ou vice-versa.
Regex para validar os dois formatos
Uma expressão regular que aceita tanto o formato antigo quanto o Mercosul precisa cobrir as duas posições que mudam: a quarta posição pode ser um número (antigo) ou uma letra (Mercosul), e o hífen só existe no formato antigo. Um padrão comum é /^[A-Z]{3}-?\d[A-Z0-9]\d{2}$/, que casa com ambos sem precisar de duas regex separadas — mas vale testar explicitamente as duas variações para não deixar nenhuma passar despercebida.
Casos de teste sugeridos
- Uma placa no formato antigo com hífen (ABC-1234) e a mesma sem hífen (ABC1234), caso o campo aceite os dois jeitos de digitar.
- Uma placa Mercosul válida (ABC1D23), verificando que o sistema não tenta forçar o hífen nela.
- Letras minúsculas na entrada (abc1234), para conferir se o sistema normaliza para maiúsculas antes de validar ou exibir.
- Uma string com o número certo de caracteres mas fora do padrão de posições (ex.: 1234ABC), que deve ser rejeitada mesmo tendo o comprimento correto.
Perguntas Frequentes
A placa gerada aqui corresponde a um veículo real?
Não. É uma combinação 100% fictícia de letras e números, gerada apenas respeitando o formato oficial — não existe verificação de que ela pertence a algum veículo cadastrado.
Por que a placa não tem dígito verificador como o CPF?
A placa é um identificador de formato fixo, não um número validado matematicamente. A "validade" de uma placa depende apenas dela existir no cadastro do DETRAN, não de nenhum cálculo que possa ser conferido offline.
Posso gerar várias placas no mesmo formato de uma vez?
Sim, mude a "Quantidade" para 10, 50 ou 100 antes de clicar em "Gerar Placa" — todas seguirão o formato escolhido (antigo ou Mercosul).