Para que serve um gerador de placas de teste
Um gerador de placa Mercosul para testes cria placas fictícias para quem desenvolve ou homologa sistemas que lidam com veículos: cadastros de frota, formulários de seguro, sistemas de estacionamento, oficinas, consultas e relatórios. Em vez de copiar a placa de um carro de verdade, a equipe sorteia uma combinação com o formato certo e a usa em formulários, em bancos de homologação e em testes automatizados de cadastro, sem qualquer relação com veículos reais.
A necessidade aparece de várias maneiras. Um teste de interface precisa de dez placas diferentes para ver como a tabela se comporta. Um teste de carga precisa de milhares de linhas com chaves únicas. Um teste de validação precisa de entradas que o sistema deve aceitar nos dois formatos em circulação: o Mercosul (três letras, um número, uma letra e dois números, como LSA6N94) e o padrão antigo (três letras e quatro números, como TFH-3866). Esta página gera as duas formas, de 1 a 20 por vez, e permite copiar cada placa ou todas de uma vez, uma por linha.
As placas servem para exercitar o formato, e o formato é o que os sistemas costumam validar. O sorteio acontece inteiro no seu navegador: não há consulta a nenhuma base, a nenhum servidor nem a nenhum cadastro de veículos. Isso faz da ferramenta uma aliada prática de QA e de desenvolvimento, desde que as placas geradas fiquem em ambientes de teste, como as boas práticas lá embaixo explicam.
Como as placas são geradas
O gerador usa crypto.getRandomValues, a função do navegador que preenche uma lista de números com valores aleatórios, em vez de Math.random. Para cada uma das sete posições da placa, a ferramenta pega um valor sorteado e o divide pelo tamanho do alfabeto daquela posição, ficando com o resto: o resto é o índice do caractere. Nas posições de letra o alfabeto tem 26 letras, de A a Z; nas de número, tem 10 algarismos, de 0 a 9. Os dois formatos seguem a mesma lógica e mudam só a posição da quinta letra.
O formato Mercosul segue a sequência LLLNLNN, em que L é letra e N é numeral, definida no Anexo I, item 1.2, da Resolução CONTRAN 969/2022. A mesma norma descreve a combinação real como "aleatória, distribuída e controlada" pelo órgão máximo executivo de trânsito da União. Ou seja, a placa de um veículo de verdade é atribuída pelo cadastro oficial, e não escolhida por quem a usa. Por isso o gerador, que sorteia por conta própria, pode produzir uma placa que coincide com uma placa real por acaso, e a placa gerada não é verificada em base alguma.
A tabela a seguir resume os dois formatos. As quantidades de combinações são calculadas multiplicando o tamanho do alfabeto de cada posição (26 para letras, 10 para números) e dizem quantas placas diferentes o formato comporta. Os exemplos saem de um sorteio com o mesmo critério do gerador, feito na hora de montar a página.
| Formato | Estrutura | Combinações possíveis (calculado) | Exemplos |
|---|---|---|---|
| Mercosul | LLLNLNN, sem hífen | 26⁴ × 10³ = 456.976.000 | LSA6N94, JEJ2I52 e ZIP3E41 |
| Padrão antigo | LLL-NNNN, com hífen | 26³ × 10⁴ = 175.760.000 | TFH-3866, PBI-1529 e GOB-4775 |
A norma não lista quais letras ou números podem aparecer em cada posição, além do formato, e não diz o que significam letras de K a Z na quinta posição: sobre a faixa de A a J, o Anexo II informa apenas que ela serve à conversão da placa antiga. Por isso o gerador sorteia as 26 letras e testa o formato, sem tentar reproduzir uma regra de emissão que a norma não descreve. Se você só precisa de placas que tenham equivalente na tabela de conversão, gere o padrão antigo e converta.
Placa Mercosul ou padrão antigo nos testes
Na prática, os dois formatos convivem. A Resolução CONTRAN 969/2022 diz que a troca da placa antiga pela Mercosul não é obrigatória e que os veículos em circulação com a placa antiga podem circular até o sucateamento, de modo que bancos de dados reais guardam placas dos dois tipos. Um sistema que aceita só o formato novo rejeitaria parte dos veículos que existem; um que aceita só o antigo ficaria defasado nos emplacamentos novos. Os testes de cadastro, portanto, devem cobrir os dois.
Um roteiro simples de teste de entrada cobre três grupos: placas Mercosul válidas (por exemplo, JEJ2I52), placas antigas válidas (por exemplo, PBI-1529) e entradas inválidas que o sistema precisa recusar, como duas letras e quatro números, um caractere acentuado ou uma letra na posição de número. Para as válidas, use o gerador; para as inválidas, edite uma placa gerada, trocando uma posição. Lembre também que o hífen e as maiúsculas são questão de exibição: o validador deve normalizar a entrada antes de comparar com a regex.
Quando o teste exige o par equivalente do mesmo veículo, isto é, a placa antiga e a Mercosul que a substitui, gere uma placa no padrão antigo e passe-a pelo conversor de placa antiga para Mercosul. Pela tabela do Anexo II, a placa ABC-1234 vira ABC1C34, e a volta devolve a placa original. Como o gerador sorteia as 26 letras na quinta posição da Mercosul, apenas 10 das 26 letras, ou 38,5% das combinações (calculado), têm equivalente antigo na tabela.
Expressões regulares para validar placas
Para conferir se um texto tem formato de placa, use uma expressão regular para cada formato. O padrão Mercosul é ^[A-Z]{3}[0-9][A-Z][0-9]{2}$ (três letras, um número, uma letra e dois números) e o padrão antigo é ^[A-Z]{3}[0-9]{4}$ (três letras e quatro números). Antes de aplicá-las, remova espaços e hífens e passe o texto para maiúsculas; sem essa normalização, "abc-1234" seria recusada mesmo sendo uma placa antiga bem escrita.
Os blocos abaixo trazem a normalização e as duas regex em JavaScript e em Python. São os mesmos trechos que a nossa suíte de testes executa (o Python direto e o JavaScript no Node): ambos devolvem "mercosul" para ABC1C34, "antiga" para ABC-1234 e "antiga" para XYZ9999. A regex confere só o formato; ela não diz se a placa foi emitida para algum veículo, e não existe uma lista pública que permita saber isso por aqui.
JavaScript
const MERCOSUL = /^[A-Z]{3}[0-9][A-Z][0-9]{2}$/;
const ANTIGA = /^[A-Z]{3}[0-9]{4}$/;
function formatoDaPlaca(texto) {
const placa = texto.replace(/[ -]/g, "").toUpperCase();
if (MERCOSUL.test(placa)) return "mercosul";
if (ANTIGA.test(placa)) return "antiga";
return null;
}
Python
import re
MERCOSUL = re.compile(r"[A-Z]{3}[0-9][A-Z][0-9]{2}")
ANTIGA = re.compile(r"[A-Z]{3}[0-9]{4}")
def formato_da_placa(texto):
placa = texto.replace(" ", "").replace("-", "").upper()
if MERCOSUL.fullmatch(placa):
return "mercosul"
if ANTIGA.fullmatch(placa):
return "antiga"
return None
Para validar uma placa digitada e ver a quebra por posição, use o validador de placa Mercosul. Repare que as regex aceitam letras de A a Z em qualquer posição de letra, como o gerador sorteia: restringir a quinta posição a A-J só faria sentido para conferir placas vindas de conversão, e não para validar o formato.
Boas práticas com dados de teste
A regra principal é simples: não use placas geradas em cadastros reais. Como a combinação de uma placa é atribuída no cadastro do órgão de trânsito, uma placa sorteada pode coincidir com a de um veículo que existe, e usá-la fora de um ambiente de teste, em um formulário de seguro, em um contrato ou em uma compra, pode associar o dado a outro veículo. Mantenha as placas fictícias em bancos de homologação e em testes automatizados.
Separe os dados de teste do ambiente de produção. Use bancos, planilhas e fixtures próprios para os testes, com prefixos ou marcações que permitam identificar e apagar tudo o que foi gerado, e nunca misture esses registros com os de clientes. Em testes automatizados, prefira gerar as placas dentro do próprio teste, com uma semente fixa quando precisar de repetibilidade: assim os resultados não dependem de dados guardados em algum lugar.
Cubra os dois formatos e as bordas: a menor e a maior quantidade que o seu sistema aceita, entradas em minúsculas, com hífen e com espaços, e os casos que devem ser recusados. Para checar o formato de cada placa gerada, use as expressões da seção anterior ou o validador de placa Mercosul. Se o seu sistema trabalha também com CNPJ de teste, o gerador de CNPJ alfanumérico segue o mesmo princípio: gera no navegador, copia com um toque e não consulta nada. Esta página foi atualizada em 07/11/2026.
Perguntas frequentes
Como gerar uma placa Mercosul para teste?
Escolha "Mercosul (LLLNLNN)" no campo de formato, informe quantas placas quer, de 1 a 20, e toque em "Gerar placas". Cada placa tem três letras, um número, uma letra e dois números, como ZIP3E41, e pode ser copiada individualmente ou todas de uma vez. O sorteio usa crypto.getRandomValues no seu navegador.
As placas geradas existem de verdade?
Não é possível afirmar que não existem: o gerador sorteia combinações por conta própria, e a norma diz que a combinação real é aleatória, distribuída e controlada pelo órgão máximo executivo de trânsito da União. Por isso uma placa gerada pode coincidir com uma placa real por acaso, e a ferramenta não verifica nenhuma base.
Qual a regex para validar placa Mercosul?
A expressão regular do formato Mercosul (LLLNLNN) é ^[A-Z]{3}[0-9][A-Z][0-9]{2}$: três letras de A a Z, um número, uma letra e dois números, sem hífen. Antes de aplicá-la, tire espaços e hífens e passe o texto para maiúsculas. Ela confere só o formato e não diz se a placa foi emitida para algum veículo.
Qual a regex para validar placa antiga?
A expressão regular do padrão antigo (LLLNNNN) é ^[A-Z]{3}[0-9]{4}$: três letras de A a Z seguidas de quatro números, sem o hífen, que é só exibição (ABC-1234). Normalize a entrada antes, tirando espaços e hífens e usando maiúsculas. Ela confere o formato e não consulta cadastro algum.
O gerador envia as placas para algum servidor?
Não. As placas são sorteadas e mostradas inteiramente no seu navegador, com a função crypto.getRandomValues, sem requisição de rede, sem consulta a bases e sem guardar o que foi gerado. Quando você usa o botão de copiar, o texto vai para a área de transferência do seu próprio aparelho, e não para este site.
Posso usar placas geradas em cadastros reais?
Não deve. As placas são fictícias e servem a testes de software, mas podem coincidir por acaso com placas de veículos que existem, já que a combinação real é atribuída no cadastro do órgão de trânsito. Use-as em bancos de homologação e testes automatizados, e nunca em contratos, seguros ou compras.
Quantas placas posso gerar de uma vez?
De 1 a 20 por vez, nos formatos Mercosul ou padrão antigo. Se você informar zero, um número maior que 20 ou deixar o campo vazio, a ferramenta mostra a mensagem "Informe de 1 a 20 placas." e não gera nada. Dentro de um mesmo lote as placas não se repetem, e você pode gerar outro lote quando quiser.
Fontes e referências
Conteúdo informativo, sem caráter de consultoria jurídica, contábil ou financeira. Confirme sempre nas fontes oficiais.